如何在我的 Eloquent ORM laravel 选择中包含一个过程?

Posted

技术标签:

【中文标题】如何在我的 Eloquent ORM laravel 选择中包含一个过程?【英文标题】:How can I include a procedure in my Eloquent ORM laravel select? 【发布时间】:2022-01-01 06:49:10 【问题描述】:

如何在我的 Eloquent ORM select laravel 中包含一个过程?

我想在我的选择中调用我的过程call pro_get_products_in_stock(0) 函数,如下块所示:

 $list = Product::query()->select(DB::raw('call pro_get_products_in_stock(0)'))->get();

有人知道怎么做吗?

【问题讨论】:

【参考方案1】:

您不能使用 Eloquent 进行此操作。

您可以使用查询生成器。

$query = DB::select('call pro_get_products_in_stock(?)', [0]);
$result = collect($query);

注意,我还没有测试过,这个答案是基于Medium的一篇文章和一个SO的答案。

https://medium.com/@smayzes/stored-procedures-in-laravel-60e7cb255fc9

How to call Stored Procedure with Eloquent (Laravel)?

【讨论】:

好的,谢谢。我认为这是可能的。我不得不这样做。

以上是关于如何在我的 Eloquent ORM laravel 选择中包含一个过程?的主要内容,如果未能解决你的问题,请参考以下文章

1+X web中级 Laravel学习笔记——Eloquent ORM查询更新删除新增

Laravel Eloquent ORM 似乎很简单

SQL 到 Eloquent ORM

Laravel Eloquent ORM "whereHas" 通过表

Laravel 4:如何使用 Eloquent ORM“排序”[重复]

如何在不使用Eloquent ORM时构建Laravel应用程序