[英]How to get the selected columns tables in an inner join in laravel?
這是我的選擇查詢,其中包含內部聯接和要選擇的值。
$user_reservation = DB::table('users')
->join('reservations', 'users.id', '=', 'reservations.users_id')
->select('users.id', 'reservations.id as res_id')
->get();
我需要$ user_reservation變量中的res_id才能過濾結果。 謝謝
$reserved_rooms = $rr_model->where('reservation_id', '=', $user_reservation->res_id)->get();
這意味着您正在接收集合,而不是對象,因為您正在使用->get();
。 您需要遍歷集合。
foreach($user_reservation as $reservation) {
$reserved_rooms = $rr_model->where('reservation_id', '=', $reservation->res_id)->get();
}
但是,如果只希望$user_reservation
一個實例,請將get()更改為first() $user_reservation
$user_reservation = DB::table('users')
->join('reservations', 'users.id', '=', 'reservations.users_id')
->select('users.id', 'reservations.id as res_id')
->first();
您可以在模型中定義關系:
return $this->hasOne('App\User', 'foreign_key', 'local_key');
在模型中定義
public function user()
{
return $this->hasOne('App\User');
}
要么
public function user()
{
return $this->belongsTo('App\User');
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.