class Withdraw extends Model
{
public function getUser()
{
return $this->belongsTo(User::class, 'user_id', 'id');
}
public function getStatus()
{
return $this->belongsTo(WithdrawStatus::class, 'status_id', 'id');
}
public static function getWithDrawList()
{
$data = Withdraw::with(['getUser' => function ($q) {
$q->select('users.*', 'trainer_details.default_acc_name', 'trainer_details.default_bank_id',
'trainer_details.default_acc_number');
$q->join('trainer_details', 'users.id', '=', 'trainer_details.user_id');
}])
->with(['getStatus'])
->get()
->toArray();
return $data;
}
}
данные банковской таблицы
id,name
возврат данных с помощью getwithdrawlist
Array
(
[0] => Array
(
[id] => 1
[user_id] => 2
[amount] => 200.0000
[status_id] => 4
[created_at] =>
[updated_at] => 2020-09-18T15:53:13.000000Z
[get_user] => Array
(
[id] => 2
[name] => lim
[default_acc_name] => lim
[default_bank_id] => 1
[default_acc_number] => 123156
)
[get_status] => Array
(
[id] => 4
[status] => Rejected
[created_at] => 2020-09-18T14:09:41.000000Z
[updated_at] => 2020-09-18T14:09:41.000000Z
)
)
)
Вопрос. Приведенный выше код предназначен для получения всех сведений о пользователе, поэтому всего необходимо объединить 4 таблицы, чтобы получить полные данные: пользователи, статус вывода, снятие средств, банки. . Мне удалось связать 3 таблицы вместе, но мне не удалось объединить данные с банками. Означает ли это, что банковские реквизиты должны возвращаться в массиве [get_user]? Кто-нибудь знает, как использовать отношения Laravel, чтобы присоединиться к другому столу, который является банками ya? Пожалуйста, порекомендуйте :((.