【发布时间】:2017-03-06 00:38:49
【问题描述】:
在输出要查看的关系数据时遇到问题。 错误消息是:“尝试获取非对象视图的属性”。
为了解释所有的任务都依赖于一个工作。 所以 Task 属于 Job 并且 Job 有很多任务。 我的模型中有所有关系,并在 Tinker 中对其进行测试,一切正常。
在我看来,我输出每个任务名称和作业名称
@foreach ($tasks as $task)
<div class="list-item">
<span class="item-name">{{ $task->job->name }}
<span class="item-name">{{ $task->name}} </span>
</div>
@endforeach
我的TaskController的索引函数:
public function index(Request $request)
{
$label = Label::all();
$user = User::all();
$task = Task::orderBy('duedate')->get();
$team = Team::all();
$customer = Customer::all();
$status = Status::all();
$job = Job::all();
return view('tasks.index')->with([
'tasks' => $task,
'teams' => $team,
'customers' => $customer,
'labels' => $label,
'users' => $user,
'jobs' => $job,
'statuses' => $status,
]);
}
表模式/修补程序的输出
id: 1,
assigned_user_id: 1,
team_id: 4,
name: "Label many to many ",
duration: 2,
created_at: "2016-06-16 14:50:57",
updated_at: "2016-07-05 09:10:34",
job_id: 1,
duedate: "0000-00-00 00:00:00",
status_id: 3,
job: App\Job {#702
id: 1,
name: "quia",
jobnumber: "8076",
customer_id: 2,
status_id: 0,
created_at: null,
updated_at: null,
},
user: null,
关系
**工作模式**
class Job extends Model
{
protected $fillable = ['name', 'jobnumber', 'customer_id', 'status_id'];
/**
* Get all Task for Job
*/
public function task()
{
return $this->hasMany(Task::class);
}
任务模型
public function job()
{
return $this->belongsTo(Job::class);
}
希望你能帮助我,谢谢!
【问题讨论】:
-
请分享您的表架构和关系代码
-
如果
Job有多个Task,则该关系应称为tasks而不是task。它可能无法解决问题。
标签: laravel laravel-5.2