Php Laravel-Foreach循环试图获取非对象的属性

Php Laravel-Foreach循环试图获取非对象的属性,php,laravel,foreach,eloquent,Php,Laravel,Foreach,Eloquent,我有一个数据库表 id |名称| url | 1 |自行车|自行车| 2 |自动|自动| 我想从表中获取所有名称,以便使用foreach循环进行查看。但它又回来了 正在尝试获取非对象的属性 控制器 模型 看法 我明白了,我无法解决它。$cat=Category::where'url',$url->firstorfail;这只返回一个集合,而不是集合的数组。如果要返回所有值,请使用get: 如果要显示1个类别,则应具有: 控制器 模型 看法 尝试过但没有成功。尝试获取非object的属性您可以在

我有一个数据库表

id |名称| url | 1 |自行车|自行车| 2 |自动|自动|

我想从表中获取所有名称,以便使用foreach循环进行查看。但它又回来了

正在尝试获取非对象的属性

控制器

模型

看法

我明白了,我无法解决它。

$cat=Category::where'url',$url->firstorfail;这只返回一个集合,而不是集合的数组。如果要返回所有值,请使用get:


如果要显示1个类别,则应具有:

控制器

模型

看法


尝试过但没有成功。尝试获取非object的属性您可以在返回语句之前显示dd$category的输出吗?我的意思是dd this$category=category::where'url',$url->get;您通过firstorfail获得1个模型,但在视图中您正在迭代。。。要么删除foreach,要么传递一个类别数组。我尝试用get替换firstor或fail,但仍然没有成功。如果我尝试$cat->all。它对成员函数的调用全部基于布尔值。当使用/或排序指定where子句时,将使用issue?get。如果要显示1项,请删除模板中的foreach。如果需要多个,则将阵列传递到视图将导致堆栈溢出!请不要只回答源代码。试着提供一个关于你的解决方案如何工作的很好的描述。请参阅:。谢谢
public function category($url, request $id)
{
    $cat = Category::where('url', $url)->firstorfail();
    return view ('view', compact('category'));  
}
class Category extends Model
{
    protected $fillable = ['name', 'url'];
}
@foreach($category as $cat)
    {{ $cat->name }}
    //{{ $cat['name] }} does not return anything.
@endforeach

//{{ $cat->name }} returns only one category name
$category = Category::where('url', $url)->get();
return view ('view', compact('category')); 
public function category($url, request $id)
{
    $category = Category::where('url', $url)->firstorfail();
    return view ('view', compact('category'));  //sends 1 entity to the view
}
class Category extends Model
 {
      protected $fillable = ['name', 'url'];
 }
  {{-- Removed the foreach becaus you have 1 entity sent from the controller --}}
  {{ $category->name }}
public function category($url, request $id)
{
$cat = Category::where('url', $url)->firstorfail();
return view ('view')->with('category',$cat);  
}