我搜索了其他問題,但找不到答案。我收到以下錯誤。試圖獲取非對象的屬性“nameP”控制器public function store(Request $request){ $hourID = $request->hour_id; $id = (Hour::latest()->first()->id) + 1; $projectID = $request->project_id; $sub = DB::table('hours')->join('projects', function ($join) use ($projectID, $id) { $join->on('hours.project_id', '=', 'projects.id') ->where('hours.project_id', '=', $projectID) ->where('hours.id', '=', $id); })->select('nameP') ->get()->first(); $name = $sub->nameP; $hour = Hour::create([ 'id' => $hourID, 'project_id' => $request->project_id, 'day' => $request->day, 'nHours' => $request->nHours, 'notesH' => $request->notesH ]); return Response::json([$hour, 'nameP' => $name]);}如果我使用 Laravel Tinker 執(zhí)行此代碼,它可以工作,所以我不明白為什么會發(fā)生此錯誤。有什么建議么?
1 回答

白衣非少年
TA貢獻1155條經(jīng)驗 獲得超0個贊
如果您使用get()方法,您將獲得多條記錄。
使用first()你只會得到一個集合。
刪除get(), and use onlyfirst()方法
$name = '';
$sub = DB::table('hours')->join('projects', function($join) use ($projectID,$id){
$join->on('hours.project_id', '=', 'projects.id')
->where('hours.project_id', '=', $projectID)
->where('hours.id', '=', $id);
})->select('nameP')->first();
if(!empty($sub)){
$name=$sub->nameP;
}
- 1 回答
- 0 關(guān)注
- 87 瀏覽
添加回答
舉報
0/150
提交
取消