我已经建立了一对多的关系与以下模型,工作和步骤。作业可以有多个步骤,步骤属于作业。当我使用Job::with('steps')->find(1)查询关系时,结果将按预期的方式显示在集合中。
<MariasApp\Job #000000002b07ae180000000036b76e17> {
id: 1,
number: 59221,
customer_id: 5,
user_id: 17,
created_at: "2015-03-24 01:32:20",
updated_at: "2015-03-24 01:32:20",
steps: <Illuminate\Database\Eloquent\Collection #000000002b07ae070000000036b76e17> [
<MariasApp\Step #000000002b07ae7b0000000036b76e17> {
id: 37,
job_id: 1,
body: "Eligendi reiciendis ratione labore sed.",
created_at: "2015-03-24 01:32:21",
updated_at: "2015-03-24 01:32:21"
}
]
}但是当我运行Job::with('steps')->find(1)->body时,我会得到一个响应null。有什么办法可以让我把body从关系中拉出来吗?
发布于 2015-03-28 18:57:11
我想您是在尝试从steps集合中获取body。您需要指定要使用的步骤。要么使用第一个
Job::with('steps')->find(1)->steps->first()->body
或者像这样的东西在它们中间循环
$steps= Job::with('steps')->find(1)->steps->all();
foreach($steps as $step){
echo step->body;
}或者骑车完成许多工作,然后完成每一项工作的第一步:
$jobs = Job::with('steps')->get();
foreach($jobs as $job){
echo $jobs->steps->first()->body;
}https://stackoverflow.com/questions/29320176
复制相似问题