2016-05-02 8 views
1

Ich benutze Laravel 4.2. Ich möchte zwei Tische verbinden. Es wirft einen Fehler auf. Ich sehe nicht, wo ich einen Fehler gemacht habe.Zwei Tisch verbinden mit Laravel

$players = DB::table('orders_items') 
     ->join('users', function ($join) use ($order) { 
      $join->on('users.user_id', '=', 'orders_items.user_id') 
      $join->on('users.state', '=', 'countries_states.state_id') 
       ->where('orders_items.order_id', '=', $order->order_id); 
     }) 
     ->get(); 

Antwort

0

Ich denke, dass Sie where Methode außerhalb der Funktion bewegen sollen:

$players = DB::table('orders_items') 
    ->join('users', function ($join) use ($order) { 
     $join->on('users.user_id', '=', 'orders_items.user_id'); 
     $join->on('users.state', '=', 'countries_states.state_id'); 
    }) 
    ->where('orders_items.order_id', '=', $order->order_id) 
    ->get(); 
+0

Syntaxfehler, unerwarteter ‚$ join‘ (T_VARIABLE)“ – Jimmy

+0

Paste ganzen Methodencode bitte, weil es sieht aus wie etwas falsch ist mit der Syntax woanders. –

+0

statische public function fop ($ order) { $ players = DB :: tabelle ('orders_items') -> join ('benutzer', funktion ($ join) benutze ($ order) { $ join-> on ('users.user_id', '=', 'orders_items.user_id') $ join-> on ('users.state', '=', 'countries_states.state_id'); }) -> wo ('orders_items.order_id', '=', $ order-> order_id) -> get(); \t return $ players; \t} – Jimmy