【发布时间】:2015-06-30 18:54:23
【问题描述】:
关系定义如下:
Apples hasMany Grapes hasMany Bananas hasOne Pineapple
我希望能够做到以下几点:
$apple = \App\Apple::find(1);
$pineapples = $apple->pineapples
通过在Apple.php 中定义以下内容,我在一定程度上实现了这一点
public function pineapples(){
$apple = $this;
return Pineapple::whereHas('banana', function($banana) use ($apple)
{
$banana->whereHas('grape', function($grape) use ($apple)
{
$grape->where('apple_id', '=', $apple->id);
});
})->get();
}
但是,有些Banana 记录可能会被软删除(丢弃),这会带来额外的复杂性。我是否有可能更优雅地获得所有与Apple 相关的Pineapples?是否也可以包括那些被垃圾记录“阻止”的内容?
【问题讨论】:
标签: php laravel eloquent laravel-5