如何使用 Eloquent (Laravel) 调用存储过程?

Has*_*aza 6 php mysql stored-procedures laravel eloquent

文档中没有提到如何使用 Eloquent 语法在 laravel 中调用 MYSQL 中的存储过程的标准过程。

我的意思是有什么方法可以借助雄辩的语法在 mysql 中调用存储过程,例如

$result = StoredProcedures::my_custom_procedure(param1, param2);
return view('welcome')->with('result',$result);
Run Code Online (Sandbox Code Playgroud)

有什么方法可以使用纯雄辩的语法(纯雄辩的方式)从存储过程中调用和获取结果。

谢谢。强烈鼓励小例子。

who*_*boy 7

正如大家所提到的,您无法使用 Eloquent 语法在 Laravel 中调用存储过程。您可以将查询结果传输到集合,这将为您提供所有集合功能。

$queryResult = DB::select('call my_custom_procedure(?, ?)', [1,2]);

$result = collect($queryResult);

return view('welcome')->with('result',$result);
Run Code Online (Sandbox Code Playgroud)

  • 您还可以使用::一线从数据集中创建雄辩的模型,非常简洁! (2认同)

Abd*_*ssi 1

不,没有Facade一个简单的解决方案是使用原始SQL查询

$result = DB::select('my_custom_procedure(?, ?)', [1,2]);
Run Code Online (Sandbox Code Playgroud)