【发布时间】:2016-01-03 01:49:27
【问题描述】:
我在使用 Laravel 5 和 Eloquent 时遇到了一些问题。我有 3 个模型 userInfo、taskAssign 和 taskCreated。 用户模型:
public function tasksAssign()
{
return $this->hasMany('App\Tasks', 'fk_user_id_assign', 'id')->where('status', 2);
}
public function tasksCreated()
{
return $this->hasMany('App\Tasks', 'fk_user_id_created', 'id');
}
任务模型
public function userInfo()
{
return $this->belongsTo('App\User');
//return $this->hasOne('App\User', 'id', 'id'); The hasOne here is just me testing diffrent stuff to see if i could get it to work.
}
我是否应该能够从我的用户(URL 中的 WHERE id = id)获取值以显示在我的任务显示视图中使用 belongsTo()?像这样:{{$tasks->userInfo->name}} 还是我完全不在这儿了?
更新: 当前任务控制器:
public function show($id)
{
$tasks = Tasks::findOrFail($id);
$assignee = $tasks->assignee;
return view('tasks.show')->withTasks($tasks);
}
和我的观点{{$tasks->assignee}},但它没有显示任何内容,我也在尝试获取受让人的信息,但感谢所有示例,它们稍后会很有用。
和模型:
public function assignee() {
return $this->belongsTo('App\User', 'fk_user_assign_id', 'id');
}
【问题讨论】:
-
任务表中存储用户 ID 的列的名称是什么?
-
fk_user_assign_id 是任务表中的那个
-
我不知道这是您实际代码中的拼写错误,还是只是在问题中,但在您的
hasMany中,您的 fk 字段名称为fk_user_id_assign,但在@ 987654329@ 你有它作为fk_user_assign_id。 -
就是这样,谢谢! :)
标签: laravel laravel-5 eloquent