Octobercms/Laravel 根据关系获取id

Octobercms/Laravel get id based on relation

在 Octobercms 中,我有一个节目列表(主要)。它们与 Seasons 有一个 hasMany 关系,Seasons 属于该节目。然后我有属于季节的剧集(季节有许多剧集)

在下图中,我想要做的是获取属于节目的季节,而不是创建的每个季节,如下所示。有 laravel 或 octobercms 知识的人知道我如何实现这个吗?

octobercms 的工作方式是通过关系或通过模型手动填充下拉列表。我是靠关系做的:

    public $hasMany = [
        'episodes' => ['Teranode\Anime\Models\AnimeEpisode', 'key' => 'season_id'],
    ]; 

这两个链接会有所帮助,但不是我想要得到的: http://octobercms.com/docs/database/relations
http://octobercms.com/docs/backend/relations

你的 Create Episodes 模态的上下文是什么?如果 show 还没有在模态中,当然应该定义它?

据我了解,您的关系是这样的:

Show 有很多 Season

Season 有很多 Episode

我建议尝试使用特定 ShowSeason 填充下拉列表,然后您将只会看到属于Show.

所以在看起来像这样的代码中...

假设我们想要获取 id 为 1 的节目的所有季节:

$show = Show::find(1);

$seasons = $show->seasons; // seasons that belong to show where id = 1

希望对您有所帮助?

我用Request::segement()得到了节目的Id,在下拉函数下的Episode模型中:

public function getSeasonOptions()
{
    return Season::where('anime_id', Request::segment(6))->lists('title', 'id');
}

这个过程可以帮助处理嵌套关系,但是如果您使主页的 url 更深,则必须修改段数。

@haakym $show = Show::find(1); 并没有真正帮助,因为我试图自动而不是手动获取 ID。我知道它应该有帮助,但那个例子没有帮助