我是laravel的新手并且致力于建立人际关系 我有一个电话簿,它有一个客户端,所以当我插入数据时,我添加一些客户端ID,如何我在电话簿视图中获取客户端名称,当我显示电话簿列表,我想得到客户端对象和显示它的名称就像这个$ client->标题 这是我的代码也许我不能用文字定义它:) 这是我的PhonebookController
if
这是电话簿型号
public function index()
{
$phonebooks = Phonebook::all();
$client = Phonebook::find(?dont know if its right place for it?)->client;
return view('admin.phonebooks.index',compact('phonebooks',$phonebooks),compact('client',$client));
}
这是我的电话簿数据库迁移
class Phonebook extends Model{
protected $fillable = ['title','description','client_id','calldate','rememberdate'];
public function client() {
return $this->hasOne('App\Client','id');
} }
和客户端数据库迁移
Schema::create('phonebooks', function (Blueprint $table) {
$table->increments('id');
$table->text('title');
$table->longText('description');
$table->integer('client_id');
$table->dateTime('calldate');
$table->dateTime('rememberdate');
$table->timestamps();
});
最后这里是视图
Schema::create('clients', function (Blueprint $table) {
$table->increments('id');
$table->text('title');
$table->longText('description');
$table->integer('fax');
$table->text('adrress1');
$table->integer('telephone1');
$table->timestamps();
});
答案 0 :(得分:1)
如果客户端有多个电话簿条目(和电话簿belongsTo客户端),那么你需要在电话簿表上有一个client_id列
然后在客户端模型中
public function phonebooks()
{
return $this->hasMany(App\Phonebook::class);
}
在电话簿型号中
public function client()
{
return $this->belongsTo(App\Client::class);
}
在控制器中
$phonebooks = Phonebook::with('client')->get();
return view('admin.phonebooks.index',compact('phonebooks'));
}
您的$ phonebook模型都将具有->client
关系,因此在视图中
<td>{{$phonebook->client->title}}</td>