Как выполнить хранимую процедуру из Laravel
Мне нужно выполнить хранимую процедуру после того, как моя форма отправит данные. У меня есть хранимая процедура, работающая так, как я хочу, и моя форма работает правильно. Я просто не знаю оператора для выполнения sp от laravel 5.
это должно быть что-то вроде: выполнить my_stored_procedure. но я, кажется, не могу найти ничего подобного в интернете.

Ответы - Как выполнить хранимую процедуру из Laravel / How to execute Stored Procedure from Laravel





login
, который не имеет разрешения на execute
какой-либо вещи на Server
. Свяжитесь с вашим администратором


SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'EXEC rule_4' at line 1 (SQL: EXEC rule_4)


01.09.2016 06:23:39
Вы также можете сделать это:
DB::select("CALL my_stored_procedure()");


23.05.2018 02:19:58
за что Laravel 5.4
DB::select(DB::raw("exec my_stored_procedure"));
если вы хотите передать параметры:
DB::select(DB::raw("exec my_stored_procedure :Param1, :Param2"),[
':Param1' => $param_1,
':Param2' => $param_2,
]);





09.08.2018 12:12:54
для Laravel 5.5
DB::select('call myStoredProcedure("p1", "p2")');
или
DB::select('call myStoredProcedure(?,?)',array($p1,$p2));
никакой параметр
DB::select('call myStoredProcedure()')

01.09.2018 09:14:35
Запуск хранимой процедуры Microsoft SQL Server (MS SQL Server) с использованием PHP Laravel framework. Если вы пытаетесь запустить SP, используя модель Laravel, то вы можете использовать следующие два подхода.
$submit = DB::select(" EXEC ReturnIdExample ?,?", array( $paramOne ,$paramTwo ) );
$submit = DB::select(" EXEC ReturnIdExample $paramOne,$paramTwo ");
В случае если вы передаете параметр типа varchar, то воспользуйтесь следующей:
$submit = DB::select(" EXEC ReturnIdExample '$paramOne', '$paramTwo' ");
Если вы просто передаете параметр, который имеет значение INT или BIGINT, то это должно сработать, и вы можете получить возврат от SP:
$submit = DB::select(" EXEC ReturnIdExample $paramOne,$paramTwo ");
После того, как хранимая процедура будет выполнена, значения будут представлены в $submit
в виде массива, вам нужно выполнить цикл через него и получить доступ к необходимым столбцам.
foreach($submit as $row)
{
echo $row->COLUMN1;
echo $row->COLUMN2;
echo $row->COLUMN3;
}



25.01.2020 05:25:30
При использовании MySql с Laravel. Ниже приведен путь, чтобы пойти.
DB:: select( 'call sp($id)' );