我有一个collection
,我在其上调用first()
方法,其中一个闭包期望一个参数说$model
。
执行时,如果我尝试访问$model
的属性;它说:
访问非对象的属性
我尝试转储$model
,发现它有一个整数1
而不是Object
。
$Collection->first( function($model) {
if(!$model) return false;
return $model->type == 'Test';
});
答案 0 :(得分:4)
我刚开始工作了。 first()
方法的参数闭包提供了2个变量。第一个是关键,第二个是模型。因此,您将调用first()
方法,如下所示,如果它符合您定义的条件,则只需返回true
。
$result = $collection->first( function($i, $model) {
// define criteria and return true if it satisfies. The model will now be returned in resulting Collection.
});