我有2个关系数据表;用户表和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表中获取数据。

我的 Blade 形式的示例:
{{-- 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
使用急切加载,您只对数据库执行一个查询,因此这应该是首选方法。如果不使用with('memberdetails'),则在访问memberdetails时将执行第二个查询。

关于php - Laravel 4 : Eloquent relationship get all data,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22002522/

10-11 18:03