Laravel 原始语句我可以根据列数据是否等于另一个 select 来自不同的 table
Laravel Raw Statement Where I can select from different table based on if a column data is equal to another
我正在使用下面的代码 select 并从 Bookings table 收集数据。
public function collection()
{
return Booking::select(
'id',
'place_id',
'payer_name',
'user_fullname',
'user_email',
'user_phone',
'user_no_of_guest',
'user_no_of_babies',
'user_checkin',
'user_checkout',
'is_approved',
'user_promo',
'user_payment_type',
'user_booking_tracking_id',
Booking::raw('(created_at + INTERVAL 2 HOUR) AS created_at'),
'paid_ammount'
)->get();
}
我从中收集的数据库是这个bookings Table, The table that I want data from is this one promo_codes Table。
我想 select promo_codes.promo_type,其中 booking.user_promo == promo_codes.promocode,如果这有任何意义,如果问题有点令人困惑,抱歉,但就是这样我能解释的最好了。
试试这个查询 -
public function collection()
{
return DB::table('bookings')->select(
'id',
'place_id',
'payer_name',
'user_fullname',
'user_email',
'user_phone',
'user_no_of_guest',
'user_no_of_babies',
'user_checkin',
'user_checkout',
'is_approved',
'user_promo',
'user_payment_type',
'user_booking_tracking_id',
Booking::raw('(created_at + INTERVAL 2 HOUR) AS created_at'),
'paid_ammount',
'promo_codes.promo_type'
)->join('promo_codes', 'booking.user_promo', '=', 'promo_codes.promocode')->get();
}
我正在使用下面的代码 select 并从 Bookings table 收集数据。
public function collection()
{
return Booking::select(
'id',
'place_id',
'payer_name',
'user_fullname',
'user_email',
'user_phone',
'user_no_of_guest',
'user_no_of_babies',
'user_checkin',
'user_checkout',
'is_approved',
'user_promo',
'user_payment_type',
'user_booking_tracking_id',
Booking::raw('(created_at + INTERVAL 2 HOUR) AS created_at'),
'paid_ammount'
)->get();
}
我从中收集的数据库是这个bookings Table, The table that I want data from is this one promo_codes Table。
我想 select promo_codes.promo_type,其中 booking.user_promo == promo_codes.promocode,如果这有任何意义,如果问题有点令人困惑,抱歉,但就是这样我能解释的最好了。
试试这个查询 -
public function collection()
{
return DB::table('bookings')->select(
'id',
'place_id',
'payer_name',
'user_fullname',
'user_email',
'user_phone',
'user_no_of_guest',
'user_no_of_babies',
'user_checkin',
'user_checkout',
'is_approved',
'user_promo',
'user_payment_type',
'user_booking_tracking_id',
Booking::raw('(created_at + INTERVAL 2 HOUR) AS created_at'),
'paid_ammount',
'promo_codes.promo_type'
)->join('promo_codes', 'booking.user_promo', '=', 'promo_codes.promocode')->get();
}