首页 > 解决方案 > Laravel - 在没有弱表的情况下建立 hasMany like 关系

问题描述

我想请您在以下实施中提出建议。

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

每个提示只有一个文本描述,如果我不使用 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

标签: laravellaravel-5eloquent

解决方案


我从 laravel 中发现了 hasMany 约束,最后做了一个小费表和小费模型。

提示:id、id_activity、tip、created_at、updated_at

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

傻我,我希望有人觉得这很有用


推荐阅读