Php Laravel集合获取方法未按预期工作
我在php artisan tinker中尝试了以下内容:Php Laravel集合获取方法未按预期工作,php,laravel-5.1,laravel-collection,Php,Laravel 5.1,Laravel Collection,我在php artisan tinker中尝试了以下内容: >>> $contract = \App\ContractHour::where('user_id', '=', 14)->get(); => Illuminate\Database\Eloquent\Collection {#747 all: [...] } >>> $contract->where('day_of_wk', 1);
>>> $contract = \App\ContractHour::where('user_id', '=', 14)->get();
=> Illuminate\Database\Eloquent\Collection {#747
all: [...]
}
>>> $contract->where('day_of_wk', 1);
=> Illuminate\Database\Eloquent\Collection {#719
all: [
App\ContractHour {#726
user_id: 14,
day_of_wk: 1,
start_time: "09:00:00",
end_time: "05:00:00",
break_time: "01:00:00",
created_at: "2016-01-09 17:49:22",
updated_at: "2016-01-09 17:49:22",
},
],
}
>>> $contract->where('day_of_wk', 1)->get('start_time');
=> null
当开始时间明显存在时,为什么get方法返回null?您使用的get()方法不正确。
它所做的是返回一个集合,如果您只需要一个符合条件的项,请尝试使用first()代替
尝试$contract->where('day\u of'wk',1)->all()->get('start\u time')代码>这似乎有效。但为什么文档显示的方式与我最初尝试的方式相同:
$contract->where('day_of_wk', 1)->first()->start_time; //outputs 09:00:00