2017-03-25 6 views
0

Die folgende Abfrage funktioniert gut in mysql, aber wie Sie die gleiche Sache mit Laravel darstellen.Verwenden Sie die Nummer in, wo Bedingung in Laravel Abfrage

select * from user_subscription where vendor_id = 'user_100' 
and 0 = (select count(*) from user_restricted_dates where vendor_id = 'user_100') 

ich mit Code versucht, aber gibt Fehler als unbekannt Spalte '0' in where-Klausel

$list = UserSubscription::where('vendor_id', '=', $vendor_obj->vendor_id) 
    ->where(0, '=', "(select count(*) from user_restricted_dates where vendor_id = 'user_100'") 
    ->get(); 

Nun, der Fehler zeigt an, was es ist, sondern wie es darzustellen

Antwort

2

Die where Methode des Abfrage-Generators ordnet den ersten Wert, den Sie an ein Feld in dem Modell übergeben, zu. Sie müssten stattdessen die Methode whereRaw verwenden.

$list = UserSubscription::where('vendor_id', '=', $vendor_obj->vendor_id) 
    ->whereRaw("0 = (select count(*) from user_restricted_dates where vendor_id = 'user_100')") 
    ->get(); 
+0

danke marc ... nur vergessen, woRaw-Methode – Sharath

Verwandte Themen