我是Laravel的新手并且正试图建立多对多的关系(至少我认为这就是我需要的)
基本上每个用户都有偏好,有7种类型的偏好,有些偏好可以有多个值,有些只有一个值 以下是 user_pref_options
以下是 user_pref表的内容
| id | user_id | pref_option_id |价值|
| --- | --- | --- | --- |
| 1 | 1 | 1 | 5 |
| 2 | 1 | 1 | 3 |
| 3 | 1 | 2 | 364 |
| 4 | 1 | 2 | 201 |
| 5 | 1 | 2 | 9 |
| 6 | 1 | 2 | 244 |
| 7 | 1 | 2 | 192 |
| 8 | 1 | 2 | 292 |
| 9 | 1 | 4 | 1 |
| 10 | 1 | 11 | 1 |
| 11 | 1 | 12 | 6 |
| 12 | 1 | 13 | 1628 |
| 13 | 1 | 14 | 9134 |
因此,1位用户会注意到某些选项类型有多个
抱歉,在我提出问题之前,我必须要有很多背景知识。我希望能够使用Eloquent将用户首选项连接到用户,并且无法确定应该采用哪种方式..
这是我尝试过的事情
//User model
public function prefs(){
return $this->belongsToMany('App\Pref', 'pref_user', 'user_id', 'pref_id');
}
和
//Pref Model
public function user()
{
return $this->belongsToMany('App\Pref', 'pref_user', 'user_id', 'pref_id');
}
我看了here
我希望能够获得所有首选项并在视图中显示它们 (我现在把它粘贴在这里,我不会让你感到烦恼)
我的挣扎是,有些偏好有多个选项,有些则有单一选项。如何检索值
也许我需要将每种偏好类型与自己的模型分开,但这似乎有点过分我愿意接受建议
答案 0 :(得分:1)
sync http request module
表使您很难区分您的prefs并且还设置了大量开销数据。
因此,您可以在user_pref
模型或分离的模型中设置单值prefs(bedroom_min
,bedroom_max
,sf_min
和sf_max
),并使用{检索它们{1}}。对于其他prefs,user
关系更好,更灵活。
最后,当您获取用户模型时,您将获得模型及其关系。