【问题标题】:LARAVEL 7 || Trying to get property 'name' of non-object拉拉维尔 7 ||试图获取非对象的属性“名称”
【发布时间】:2020-06-02 04:08:56
【问题描述】:

我试图从作者表中获取名称,但这个错误总是发生。我该怎么办?

型号 应用\图书

public function author()
    {
        return $this->hasOne('App\Author');
    }

应用\作者

public function book()
{
       return $this->belongsTo('App\Book');
}

观看次数 作者/展示...

   @php 
        $book = Book::with('author')->where('author_id',$author->id)->get();
   @endphp`
   @foreach ($book as $data)

       ...
          Author name : {{$data->author_id->name}}
       ...

   @endforeach

【问题讨论】:

  • 这只是 book 表的名称,而不是 author 表的名称
  • 我解决了这个问题,感谢您的帮助。就像$data->author->name 不需要使用Id
  • 作为旁注,不建议在视图中执行任何繁重的操作(例如数据库查询)。而是在控制器或由控制器调用的单独库中执行这些操作,并将结果传递给视图。
  • 我遇到了同样的问题。 {{ $user->employee->emp_name }}。我在我的模型和控制器中正确声明,这是我的查询User::get()

标签: php eloquent laravel-7


【解决方案1】:

像这样在视图中更改代码: ... $data->author->name ... 不要使用“id”

【讨论】:

    猜你喜欢
    • 2021-09-03
    • 2019-05-23
    • 2019-07-11
    • 2019-12-13
    • 1970-01-01
    • 1970-01-01
    • 2021-06-04
    • 2020-01-23
    • 2015-08-15
    相关资源
    最近更新 更多