【发布时间】:2020-01-10 03:34:38
【问题描述】:
我搜索了其他问题,但找不到答案。我收到以下错误。
试图获取非对象的属性“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 执行此代码,它可以工作,所以我不明白为什么会发生此错误。有什么建议吗?
【问题讨论】:
-
是什么给了你 dd($sub);?
-
正确的对象,就像我在工匠修补匠中运行的一样
-
你正在使用->get()->first();。更改它或获取();或至第一个();然后 ->first();会给你对象和 ->get();可能是收藏
标签: php laravel controller