//Eloquent relationship
$customer = App\Customer::find($id); //1s query
return $orders = $customer->orders(); //2nd query
class
public function orders() {
return $this->hasMany('App\Order', 'customer_id')->get();
}
//Query builder, only query once
$data = DB::table('customers')
->select('orders.name...')
->leftJoin('orders', 'customers.id', '=', 'orders.customer_id')
->get();
私は現在laravelを学んでいますが、私は左の結合クエリを行うために関係を使用するときに疑問を抱いていました。laravelリレーションシップクエリは2回ですか?
これはパフォーマンスに優れていますか?クエリビルダーの左結合は、私が通常使うものである1つのクエリを保存することができます。
あなたの 'orders'関係のメソッドでは' return $ this-> hasMany( 'App \ Order'、 'customer_id');を返すだけで ' - > get() – Parziphal