在我的函数中显示我的员工控制器显示视图的错误 id 详细信息。除了使用 first(( 之外,还有什么理想的解决方案?
如果我只是要使用
$employee = Employee::find($id);
它将起作用,但它不会显示"公司"详细信息
但是如果我使用
$employee = Employee::find($id)->with('company')->first();
它将检索第一个 ID,并且不会使用该find($id)
我希望输出 id 9,但由于控制器中的first()
,它保留了 id 8。
您可以使用with()
静态方法,请参考文档
例如:
$employee = Employee::with('company')->find($id);
或者您可以找到记录并加载关系
$employee = Employee::findOrFail($id)->load('company');
根据laravel文档,你可以使用其他两种方法,这使得编码更有效率。
- 查找或失败
- 先败
您可以使用 FirstOrFail 方法在 laravel 中轻松获取第一个值。
对于您的代码,它将是,
$employee = Employee::firstOrFail();
欲了解更多信息,请尝试此链接
Stackoverflow findorfail
你应该在find
之前添加with
$employee = Employee::with('company')->find($id)->first();
// OR try simple way
$employee = Employee::with('company')->findOrFail($id);
请尝试使用 :
Employee::join('company','employee.id','=','company.employee_id')->where('employee.id','='$id')->first();
你应该使用laravel Eloquent FindOrFail。
有关详细信息,请参阅文档检索单个模型/聚合