【问题标题】:Laravel - set up a hasMany like relationship without the weak tableLaravel - 在没有弱表的情况下建立 hasMany like 关系
【发布时间】:2018-07-16 18:42:26
【问题描述】:

我希望您对以下内容的实施提出建议。

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

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

【问题讨论】:

  • 我不明白“小费表没用”。 activity_tipstips不一样吗?
  • 我没有那样计划,但听起来很酷,我会编辑

标签: laravel laravel-5 eloquent


【解决方案1】:

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

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

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

我傻了,我希望有人觉得这个有用

【讨论】:

    【解决方案2】:

    在 Activity 模型中添加:

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

    这假设您有一个带有 'id'、'activity_id'、'tip' 的 Tip 模型

    【讨论】:

      猜你喜欢
      • 2018-12-27
      • 2019-01-01
      • 2014-07-28
      • 2015-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多