laravel Много записей в одной записи .... но как? - PullRequest
0 голосов
/ 24 января 2020

У меня есть две таблицы, одна Users, а другая Loans. Они имеют отношения один ко многим между ними. Один пользователь может иметь много кредитов, и один кредит принадлежит одному пользователю.

Теперь я хочу получить пользователя из списка ссуд.

Loan::where('user_id',  $user)->get()

Это даст мне повторный массив образцов пользователей, связанных с несколькими ссудами. Но я хочу получить только одну запись, как многие кредиты связаны с одним пользователем.

Ответы [ 2 ]

0 голосов
/ 24 января 2020

Для того, что я понимаю в вашем вопросе, вы хотите получить пользователя вместе с правом кредита? Вашему запросу должен понравиться этот запрос.

$user_loans = User::with('loans')->where('id', $user_id)->get();

Получить информацию о пользователях из таблицы ссуд

Loan::where('user_id',  $user_id)->with('user')->get()

Ge из таблицы ссуд пользователей зависит от идентификатора brach

Loan::where('branch_id',  $branch_id)->with('user')->get();
0 голосов
/ 24 января 2020

Я полагаю, вы уже установили отношения между пользовательскими и кредитными моделями

// App\User

public function loans() {
   return $this->hasMany('App\Loan');
}


// App\Loan

public function user() {
   return $this->belongsTo('App\User');
}

Получить пользователя из списка ссуд

$user = Loan::where('user_id', $id)->first()->user;
// eager loading version 
$loansWithUsers = Loan::with('user')->where('user_id', $id)->get();

Ссуды, привязанные к одному пользователю

$loans = User::findOrFail($id)->loans;
// eager loading version 
$userWithLoans = User::with('loans')->findOrFail($id);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...