Я учусь Laravel
Мне нужно вернуть только 1 raw from relation subquery
вместо array
с 1
элементом
Вот мой код:
Контроллер
public function changeMembership(Users $user, Memberships $membership)
{
$user->load([
'transactions' => function ($q) {
$q->where('status', 'approved')->latest()->first();
},
'latest_membership',
'billing'
]);
dd($user->transactions[0]->id);
}
Модель
public function transactions()
{
return $this->hasMany('App\Models\Transactions', 'user_id');
}
Это работает для меня, но я не хочу использовать $user->transactions[0]->id
.Как я могу это исправить?
Я знаю, что могу использовать hasOne
вместо hasMany
public function latest_transaction()
{
return $this->hasOne('App\Models\Transactions', 'user_id')->
whereStatus('approved')->latest();
}
Но я хочу знать каждое возможное решение для этого.