你已經得到了答案,但這裏有一些見解,當您使用get()
或all()
,它返回模型對象的集合,這是Illuminate\Database\Eloquent\Collection
一個實例,所以在這裏,你會得到一個Collection
對象
$cat = Category::where('alias','=','vodosnab')->get();
現在,您可以使用$cat->first()
從集合中獲取第一個項目(Category Model
),並且您還可以使用$cat->last()
獲取最後一個項目或$cat->get(1)
以獲取集合中的第二個項目。這些方法在Collection
對象中可用。
使用first()
方法,如Category::where('alias','=','vodosnab')->first();
將只返回一個(第一個物品)模型,它是您的Category
模型的一個實例。因此,使用all()
或get()
得到模型對象的集合,可以遍歷集合,如:
foreach(Category::all() as $cat) { // or Category::get()
$cat->propertyName;
}
或者你可以使用:
$categories = Category::where('alias','=','vodosnab')->get();
foreach($categories as $category) {
$category->propertyName;
}
此外,您還可以使用:
$categories = Category::where('alias','=','vodosnab')->get();
$firstModel = $categories->first();
$lastModel = $categories->last();
$thirdModel = $categories->get(2); // 0 is first
如果你只需要一個,那麼你可以直接使用:
$category = Category::where('alias','=','vodosnab')->first();
$category->fieldname;
請記住,如果您使用get()
,即使數據庫中只有一條記錄可用,您也會收到Model
對象的集合。所以,在你的例子這裏:
$cat = Category::where('alias','=','vodosnab')->get();
return $cat->title;
您正在嘗試從Collection
對象獲取屬性,如果你願意,你可以使用:
$cat = Category::where('alias','=','vodosnab')->get();
return $cat->first()->title; // first item/Category model's title
return $cat->last()->title; // last item/Category model's title
return $cat->get(0)->title; // first item/Category model's title
您可以讀取寫入Laravel
的Collection
this article目的。