gin93r
gin93r

Reputation: 1593

Using a stored procedure in Laravel 4

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;

Upvotes: 6

Views: 16368

Answers (2)

Antonio Carlos Ribeiro
Antonio Carlos Ribeiro

Reputation: 87719

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());

Upvotes: 3

gin93r
gin93r

Reputation: 1593

Found out a way to get this working here:

$result = DB::select('call getLibraryList(?)',array($email));

Upvotes: 13

Related Questions