ErrorException 尝试在 null 上读取 属性 "name"(视图:
ErrorException Attempt to read property "name" on null (View:
我有 2 个指向同一个用户模型的关系:operador() 和 profesional()。
class Cita extends Model
{
public function paciente(){
return $this->belongsTo('\App\Models\Paciente');
}
public function profesional(){
return $this->belongsTo('\App\Models\User');
}
public function operador(){
return $this->belongsTo('\App\Models\User');
}
}
在视图中我这样称呼它们:
@foreach ($comisiones as $comision)
<tr>
<td>{{ $comision->paciente->name }}</td>
<td>{{ $comision->profesional->name }}</td>
<td>{{ $comision->operador->name }}</td>
<td>{{ number_format($comision->total, 0, '.', '.') }}</td>
<td>{{ $comision->estado }}</td>
</tr>
@endforeach
程序在尝试调用 $commision->operador->name 时崩溃了。如果我把它留作评论,它就可以毫无问题地工作。但是当我同时拥有 2 个关系时它会给我一个错误。
我可以有 2 个关系指向同一个模型吗?如果没有,我还有什么选择?谢谢
当你写:
public function operador(){
return $this->belongsTo('\App\Models\User');
}
Laravel 期望 The Migration (The table citas) 有一个名为 operador_id
的列。 所以是的您可以与同一个模型建立多个关系。
因为您使用的是 belongTo
关系,这意味着 User 是父模型,Professional
和 Operador
是子模型。
因此,预计 Professional 的 table 有一个名为 user_id
的列,Operador[ 也是如此=27=] table,它应该有 user_id
列。
有了这个关系就可以正常工作了。
是的,您可以有 2 个关系指向同一个模型。
我有 2 个指向同一个用户模型的关系:operador() 和 profesional()。
class Cita extends Model
{
public function paciente(){
return $this->belongsTo('\App\Models\Paciente');
}
public function profesional(){
return $this->belongsTo('\App\Models\User');
}
public function operador(){
return $this->belongsTo('\App\Models\User');
}
}
在视图中我这样称呼它们:
@foreach ($comisiones as $comision)
<tr>
<td>{{ $comision->paciente->name }}</td>
<td>{{ $comision->profesional->name }}</td>
<td>{{ $comision->operador->name }}</td>
<td>{{ number_format($comision->total, 0, '.', '.') }}</td>
<td>{{ $comision->estado }}</td>
</tr>
@endforeach
程序在尝试调用 $commision->operador->name 时崩溃了。如果我把它留作评论,它就可以毫无问题地工作。但是当我同时拥有 2 个关系时它会给我一个错误。
我可以有 2 个关系指向同一个模型吗?如果没有,我还有什么选择?谢谢
当你写:
public function operador(){
return $this->belongsTo('\App\Models\User');
}
Laravel 期望 The Migration (The table citas) 有一个名为 operador_id
的列。 所以是的您可以与同一个模型建立多个关系。
因为您使用的是 belongTo
关系,这意味着 User 是父模型,Professional
和 Operador
是子模型。
因此,预计 Professional 的 table 有一个名为 user_id
的列,Operador[ 也是如此=27=] table,它应该有 user_id
列。
有了这个关系就可以正常工作了。
是的,您可以有 2 个关系指向同一个模型。