Php 属性不存在,但已建立关系
我试图从表中获取属性,但它告诉我该属性不存在: 我的看法是:Php 属性不存在,但已建立关系,php,mysql,laravel,class,relationship,Php,Mysql,Laravel,Class,Relationship,我试图从表中获取属性,但它告诉我该属性不存在: 我的看法是: @foreach ($weeklyTicketsclosed as $ticket) @if($ticket->statut=='fermé') <tr> <td>{{ $ticket->societe}}</td> <td>{{ $ticket->intervenant}}</td> <td>{{ $tick
@foreach ($weeklyTicketsclosed as $ticket)
@if($ticket->statut=='fermé')
<tr>
<td>{{ $ticket->societe}}</td>
<td>{{ $ticket->intervenant}}</td>
<td>{{ $ticket->assistance->level}}</td>
<td>{{ $ticket->message}}</td>
<td>{{ $ticket->urgence->niveau}}</td>
<td>{{ $ticket->statut}}</td>
<td>{{ $ticket->utilisateur->name}}</td>
<td>{{ $ticket-> created_at}}</td>
<td>{{ $ticket->gestions->observations}}</td>
</tr>
@endif
@endforeach
我的手势课是:
class Tickets extends Model
{
protected $table="tickets";
protected $fillable=['message','utilisateur_id','urgence_id','societe','typeassistance','intervenant'];
public function urgence()
{
return $this->belongsTo(\App\Urgence::class);
}
public function gestions()
{
return $this->hasMany(\App\Gestion::class, 'utilisateur_id');
}
public function assistance()
{
return $this->belongsTo(\App\assistance::class, 'typeassistance', 'id');
}
class Gestion extends Model
{
protected $table="gestions";
protected $fillable=['description','duree','ticket_id','utilisateur_id','observations'];
public function tickets(){
return $this->belongsTo(\App\Tickets::class);
}
}
控制台返回票证->手势->观察上的不存在错误。
我似乎找不到它的来源,手势和罚单之间的关系就像罚单和紧急或罚单和帮助之间的关系一样
错误:此集合实例上不存在属性[observations]。(视图:C:\xampp\htdocs\rmstickets\resources\views\export\ticketsexcelferme.blade.php)
你能帮帮我吗
提前谢谢 一张票有许多手势,因此
$ticket->Gestions
实际上是一个对象数组/集合。您可能希望对其进行迭代,或者只获取第一个:
<td>
@foreach($ticket->gestions as $gestion)
{{ $gestion->observations}}
@endforeach
</td>
@foreach($ticket->gestions as$gestion)
{{$gestion->observations}
@endforeach
或
{{$ticket->gestions->first()->observations}
这看起来与
解决方法是告诉laravel哪些字段属于另一个模型。我希望这能有所帮助:)第一个:ErrorException(E_NOTICE)未定义的偏移量:第二个:ErrorException(E_ERROR)试图获取非对象的属性“observations”(视图:C:\xampp\htdocs\rmstickets\resources\views\export\ticketexcelferme.blade.php)有趣的偏移量消息,但我确实注意到我打错了。应该是
$gestion->observations
第二个应该可以工作,但是如果没有该票据的手势,可能会抛出错误。因此,在打印观察结果之前,您可能需要查看是否有任何手势。有什么方法可以使用if子句或前面的某个内容来防止出现错误?当然,只需使用@if($ticket->gestions->count())
<td>{{ $ticket->gestions->first()->observations}}</td>