【发布时间】:2014-12-14 04:48:56
【问题描述】:
我是 Laravel 的新手,遇到了一个菜鸟问题。我有 3 个表,用户,项目,item_images。当我发布一个项目时,我将图像与 item_id 和其他输入数据一起保存到 item_images 到项目表中。现在,如何在我的 foreach 循环中获取该项目的 x 个图像中的第一个?
这是我的看法
@foreach ($items as $item)
<div class="item">
<div class="item-image">
<img src="/uploads/{{ $item->image }}"/>
</div>
{{ $item->title }}
{{ $item->type }}
{{ $item->label }}
</div>
@endforeach
这是 ItemImages 控制器
<? class ItemImages extends Eloquent {
protected $fillable = array(
'item_id',
'image'
);
protected $table = 'item_images';
public function item() {
return $this->belongsTo('Item');
}
}
项目控制器
<? class Item extends Eloquent {
protected $fillable = array(
'user_id',
'type',
'title',
'label'
);
protected $table = 'items';
public function item() {
return $this->hasMany('ItemImages');
}
}
还有家庭控制器
<?php class HomeController extends BaseController {
public function home() {
$items = Item::all();
$images = ItemImages::all();
$users = User::orderByRaw("RAND()")->take(2)->get();
return View::make('home', array(
'items' => $items,
'users' => $users,
'images' => $images
));
}
}
提前致谢。
【问题讨论】:
-
请尝试
$item->item->first()->id -
谢谢。这有助于结合正确的关系:)
-
关系看起来正确。您应该在 home 方法中仅查询用户或仅查询项目,具体取决于您要迭代的内容。
-
我两者都需要,想在主要内容中显示所有用户的所有项目,在侧边栏中显示随机用户的所有项目。
-
@BenSen,如果以下答案之一回答了您的问题,本网站的工作方式,您将“接受”答案,更多信息请点击此处:What should I do when someone answers my question?。但前提是您的问题确实得到了回答。