如何在我的 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 "whereHas" 通过表