Using a stored procedure in Laravel 4

2019-02-10 10:36发布

I'm trying to call a stored procedure from via a laravel route and i keep getting an error:

{"error":{"type":"Illuminate\\Database\\QueryException","message":"SQLSTATE[42S22]: Column not found: 1054 Unknown column 'emailAddress' in 'field list' (SQL: CALL getLibraryList(emailAddress))",

I believe the call I'm making is correct:

$result = DB::statement('CALL getLibraryList('.$email.')');
return $result;

2条回答
够拽才男人
2楼-- · 2019-02-10 11:06

You might find some trouble to execute them. Here are some options:

DB::statement(DB::raw('CALL getLibraryList('.$email.');'));

Or

DB::select('CALL getLibraryList(?)',array($email));

And, the dirtiest one:

$db = DB::connection();

$stmt = $db->pdo->prepare("CALL getLibraryList(?)");

$stmt->bindParam(1, $email);
$stmt->execute();

$search = array();

do {
    $search = $stmt->fetchAll(PDO::FETCH_CLASS, 'stdClass');
} while ($stmt->nextRowset());
查看更多
甜甜的少女心
3楼-- · 2019-02-10 11:07

Found out a way to get this working here:

$result = DB::select('call getLibraryList(?)',array($email));
查看更多
登录 后发表回答