我有两个模型处于多对一关系:
class Meal extends \Eloquent {
/**
* public Integer $id; - primary key
* public String $name;
*/
protected $fillable = array('id','name');
public function mealProperties()
{
return $this->hasMany('MealProperty');
}
}
class MealProperty extends \Eloquent {
/**
* public Integer $id; - primary key
* public Integer $meal_id;
*/
protected $fillable = array('id','meal_id');
public function meal()
{
return $this->belongsTo('Meal', 'meal_id');
}
}
如果我请求第一餐并且传递了first mealProperty参数,那么一切都会正常执行:
$mealProp = Meal::first()->mealProperties->first();
但是如果我用特定的第一餐id询问mealProperty,应该怎么做呢?
$mealProp = Meal::first()->mealProperties->where('id','=','1')->first();
I get this error:
Call to undefined method Illuminate\Database\Eloquent\Collection::where()
我花了两个小时谷歌搜索,但仍然找不到我做错了什么。
如果不能使用where方法,有什么其他的方法可以获取特定的mealProperty?
感谢您的帮助!
$mealProp = Meal::first()->mealProperties->first();
这样写没问题。 - The Alpha