我是第一次使用Laravel开发应用程序。我需要使用模型表单绑定来填写表单,这需要将数据传递给表单。
现在,我需要传递的数据在一个名为“老师”的表中。它同时具有相应的模型和控制器。 users表是标准的Laravel表。通过“电子邮件”将用户和教师联系起来。我在Tinker上测试了relashionships,它显示了所需的输出,如下所示。
>>> $ user = App \ User :: find(15);
=>应用程序\用户{#2947
id:15,
名称:“第一”,
电子邮件:“ first@example.com”,
email_verified_at:空,
created_at:“ 2019-04-19 17:10:59”,
Updated_at:“ 2019-04-19 17:10:59”,}
>>> $ user->教师
=> App \ teacher {#2948
sdrn:856,
名称:“第一”,
姓:null,
deptname:null,
deptcode:null,
名称:null,
电子邮件:“ first@example.com”,
手机:空,
cc:“ N”,
created_at:“ 2019-04-19 17:10:59”,
Updated_at:“ 2019-04-19 17:10:59”,}
因此,由于修补程序命令从教师表带来正确的行,所以关系一直正常工作。
但是,当我通过Auth库以
的身份登录教师时 $user = Auth::user();
$teacher = $user->teacher();
dd();
dd()的输出显示类似
属于{{270▼
#child:用户{#273▶}
#foreignKey: “ email”
#ownerKey:“ email”
#relationName:“老师”
#query:构建器{#267▶}
#parent:用户{#273▶} < br /> #related:老师{#262▶}
#withDefault:null
}
这不是我所需要的。我需要将相应的行从教师表传递到表单。修补匠可以提供所需的结果,但是Auth:user()
返回了一些有趣的对象。
我想念什么?
答案 0 :(得分:0)
您可以执行以下任一操作:
$user->teacher()->first()
获取关系的第一个(也是唯一的)结果,或者获取该关系的“魔术”快捷方式:
$user->teacher
答案 1 :(得分:0)
希望这对您有帮助
$user = Auth::user();
$teacher = $user->teacher; //this will load related article models as a collection
dd($teacher);