属性不存在,但已建立关系

1u4esq0p  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(361)

我试图从表中获取属性,但它告诉我它不存在:
我的观点是:

@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);
    }
}

控制台在ticket->gestions->observations上返回一个不存在的错误。我似乎找不到它的来源,手势和票之间的关系就像票和紧急或票和帮助之间的关系一样。
错误:此集合示例上不存在属性[observations](视图:c:\xampp\htdocs\rmstickets\resources\views\export\ticketsexcelferme.blade.php)
你能帮帮我吗?
提前谢谢!

exdqitrt

exdqitrt1#

一张票有很多手势,所以 $ticket->gestions 实际上是对象的数组/集合。您可能希望遍历它,或者只获取第一个:

<td>
  @foreach($ticket->gestions as $gestion)
  {{ $gestion->observations}}
  @endforeach
</td>

<td>{{ $ticket->gestions->first()->observations}}</td>
qco9c6ql

qco9c6ql2#

这看起来和这个问题很相似,解决这个问题的方法是告诉laravel哪些字段属于另一个模型。我希望这有帮助:)

相关问题