Laravel-在没有弱表的情况下建立具有hasMany的关系

时间:2018-07-16 18:42:26

标签: laravel laravel-5 eloquent

在执行以下操作时,我希望您的建议。

我的项目中有一个活动模型和一个活动表,一个活动可以有多个“提示”,我需要将这些提示存储在某个地方。

每个提示只有一个文本说明,如果我不使用Laravel,我会简单地创建一个表格,如activity_tips,在其中存储活动ID和提示的描述,每一行都是一个属于的提示一项活动,也许是id增量活动,但仅此而已(至少是我计划的)。

现在,Laravel具有这种称为关系的美,但是它必须在两个模型之间。

我知道我不能使用像这样的东西,因为它需要Tip模型(和表格)。

public function tips(){
    return $this->hasMany('App\Tip', 'id_activity', 'id')
                ->select('id', 'id_activity', 'tip');
}

我可以创建一个Tip模型和表格,但是感觉不对,因为Tip表格与activity_tips相同。

是否有Laravel功能无法帮助我?还通过将所有内容保留在模型中吗?也许使用原始sql语句仅具有activity_tips

2 个答案:

答案 0 :(得分:0)

我从laravel那里了解了hasMany的约束,最后制作了Tips表和Tip模型。

提示:id,id_activity,提示,created_at,updated_at

public function requirements(){
    return $this->hasMany('App\Tips', 'id_activity', 'id');
}

对不起,我希望有人能找到这个有用的

答案 1 :(得分:0)

在“活动”模型中添加:

public function tips(){
    return $this->hasMany(Tip::class);
}

假设您的Tip模型带有'id','activity_id','tip'