비 개체 오류의 속성을 얻으려고 노력 즉 :Laravel : 나는 세 개의 테이블이
사이트 :
id|name|slug|location|description
Accounthead :
id|accountname|slug
거래 :
class Site extends Model
{
protected $fillable = [
'name',
'slug',
'location',
'description'
];
public function transactions()
{
return $this->hasMany('App\Transaction', 'site_id');
}
}
내 AccountHead 모델처럼 보이는 :
class AccountHead extends Model
{
protected $fillable = [
'slug',
'accountname'
];
public function transactions()
{
return $this->hasMany('App\Transaction','accounthead_id');
}
}
그리고 내 트랜잭션 모델은 다음과 같습니다
class Transaction extends Model
{
public function site()
{
return $this->belongsTo('App\Site','id');
}
public function accounthead()
{
return $this->belongsTo('App\AccountHead','id');
}
}
처럼
id|name|slug|site_id|accounthead_id|...
내 사이트 모델 본다/AccountHead이 하나 개 사이트 않는 한, 그것은 잘 작동
@forelse($transactions as $key => $transaction)
<tr>
<td>{{++$key}}</td>
<td>{{$transaction->updated_at->format('M d Y')}}</td>
<td>{{str_limit($transaction->name, 47) }}</td>
<td>{{str_limit($transaction->accounthead->accountname,47)}}</td>
<td>{{str_limit($transaction->site->Name,47)}}</td>
<td>{{str_limit($transaction->amount,47)}}</td>
</tr>
@empty
<tr>
<td colspan="4" class="text-center">No Transactions available.</td>
</tr>
@endforelse
내 블레이드 파일 : 내 블레이드 중 하나에서
나는 모든 거래와 관련 필드를 표시 할 둘 이상에 사용 거래. 사이트되면/Accounthead 개 이상의 트랜잭션 그것의 던지기에 사용됩니다 :
(2/2) ErrorException
Trying to get property of non-object
오전 내가 여기 정말 멍청한 짓 누락?
나는 이것이 주요 이슈라고 생각한다. 만약 그가'transaction'을위한'site_id' 컬럼을 가지고 있다면 그는 단지 두 번째와 세 번째 파라미터를 남겨둔다. – OIIO
트랜잭션 테이블에서 데이터를 관찰 한 후에 site_id와 accounthead_id에 값 '0' 이 오류가 발생했습니다. 목록에서 사이트 또는 accounthead의 색인을 제공하는 {Form :: select}에서이 값을 얻고 있습니다. –