0
내 모델의 함수가 데이터베이스 테이블을 호출 할 때 데이터베이스 테이블이 비어 있으면 오류가 발생합니다. 이것은 내 AccountMeta 모델의 코드입니다.멤버 함수 호출 null null의 getmetavalue()
Schema::create('account_metas', function (Blueprint $table) {
$table->increments('id');
$table->integer('account_id');
$table->string('meta_key');
$table->string('meta_value');
$table->timestamps();
});
아무 문제가없는 경우가있는 account_metas 테이블의 데이터 만 때
$GroupFile = Auth::user()->account->meta->getmetavalue('file_group_contact');
내 데이터베이스 구조는 이것이다 :
public function scopeGetmetavalue($query, $key){
$data = $query->where('meta_key', '=', $key)->pluck('meta_value');
if($data->count()){
if(isset($data[0])){
return $data[0];
}
}
return " ";
}
이
은 전화를 내보기에 그것은 비어 있습니다. 나는 오류가 있습니다. 그것의 어떤 생각?
자세히 ... 검색어에 '계좌'와 '메타'가 무엇입니까? 관계가 정의되어 있습니까? 'dd (Auth :: user() -> account-> meta)의 출력은 무엇입니까? –
테이블에 데이터가 없으면'Auth :: user() -> account-> meta'는'null'을 리턴합니다 . 따라서'Auth :: user() -> account-> meta-> getmetavalue ('file_group_contact')'호출은'null '에'getmetavalue()'를 호출 할 때 _Exception_을 부여하도록 바인딩됩니다. _Exception_을 그냥 무시하고 싶다면 문에 @ 기호를 붙이십시오. @Auth :: user() -> account-> meta-> getmetavalue ('file_group_contact')' – linuxartisan