[英]Laravel 4: Eloquent relationship get all data
我有2个关系数据表; users表和memberdetails表。
Users.php
class Users extends Eloquent{
public function memberdetails()
{
return $this->hasOne('Memberdetails','user_id');
}
}
Memberdetails.php
class Memberdetails extends Eloquent{
public function user()
{
return $this->belongsTo('Users','user_id');
}
}
当我尝试检索数据时,使用$data = User::find($id);
我只从users表中获取数据。
刀片形式示例:
{{-- User's Name, stored on user table --}}
{{ Form::text('name',null, array('id'=>'name','class'=>'form-control','required')) }}
{{-- User's address, stored on member table --}}
{{ Form::text('address',null, array('id'=>'address','class'=>'form-control','required')) }}
当我访问localhost/user/2/edit/
,将填充名称字段,但地址字段为空。 如何从两个表中检索数据并将其放入表单进行编辑?
谢谢。
您可以使用预先加载。
$user = User::with('memberdetails')->find($id);
使用此选项,您将在检索用户时自动获取memberdetails。 然后你可以使用$user->memberdetails
使用预先加载,您只对DB执行一次查询,因此它应该是首选方式。 如果你不使用with('memberdetails')
,你将在访问memberdetails时执行第二个查询。
获取用户实例后,访问该关系,然后您可以访问其他类属性
$user = User::find($id);
$userData = $user->memberdetails;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.