не может использовать отношение hasOne для ограничения - PullRequest
1 голос
/ 15 апреля 2019

У меня есть одно отношение между моделями "member" и "loan". я выбрасываю "пытаюсь получить свойство необъектной ошибки

Я попробовал на hasMany, и все это работает, но это должно быть в hasOne, нет никаких ограничений, чтобы остановить выдачу нескольких займов для члена.

Member.php

use Illuminate\Database\Eloquent\Model;

class Member extends Model
{
    protected $fillable=['name','address','phone']; 

    public function loan()
    {
        return $this->hasOne(Loan::class,'member_id','id');
    }

    public  function savings()
    {
        return $this->hasMany(Saving::class,'member_id','id');
    }
}

Loan.php

use Illuminate\Database\Eloquent\Model;

class Loan extends Model
{
    protected $fillable = [
        'amount',
        'interest',
        'status',
        'member_id',
        'loan_type_id',
        'interest_type_id',
        'loan_payment_type_id'
    ];

    public function member()
    {
        return $this->belongsTo(Member::class,'member_id','id');
    }
}

member.blade.php

<td>{{$member->name}}</td>
<td>{{$member->address}}</td>
<td>{{$member->phone}}</td>
<td>
    <a href="{{route('deletemember').'/'.$member->id }}">Delete</a>
    <a href="{{route('editmember').'/'.$member->id }}">Edit</a>
</td>
<td>
    {{$member->loan->amount}}
</td>

Ответы [ 2 ]

1 голос
/ 15 апреля 2019

Может быть, все ваши участники не имеют ссуды.вот почему отображается ошибка, попробуйте проверить перед эхо,

  <td>
   @if($member->loan)  // add this line code
     {{ $member->loan->amount }}
   @endif  // add this line code
  </td>
0 голосов
/ 15 апреля 2019

Попробуйте

{{$member->loan['amount']}}
...