【发布时间】:2017-01-27 01:08:29
【问题描述】:
我无法从 Eloquent 中的 HasManyThrough 关系中获取查询。
这是我的桌子
页数
- 身份证
- 列
- slideshow_fk
幻灯片
- 身份证
- 列
幻灯片
- 身份证
- 列
- slideshow_id
我的页面模型:
class Page extends Model
{
public function slideshow_id(){
return $this->belongsTo(Slideshow::class);
}
public function slides(){
return $this->hasManyThrough('App\Slide','App\Slideshow','id','slideshow_id','slideshow_fk');
}
}
控制器
$page=Page::where("slug","=",$slug)->with('slides')->first();
查询日志:我不是 Page ID:3 with slideshow_fk:1, [? = 1]
select `slides`.*, `slideshows`.`id` from `slides` inner join `slideshows` on `slideshows`.`id` = `slides`.`slideshow_id` where `slideshows`.`id` in (?)
page->幻灯片数组:
[]
PhpMyAdmin SQL 复制/粘贴:
我的页面需要哪些正确的 3 张幻灯片。
为什么我得到一个空数组?
【问题讨论】:
-
你检查过 Page::where("slug","=",$slug)->first();正在退货吗?
-
是的,我得到了返回的页面:{"id":3,"name":"xxx","description":"xxx.","slug":"koledar","slideshow_fk ":1,"created_at":"2017-01-24 12:05:23","updated_at":"2017-01-24 12:05:23","slides":[]}