我有一个表格,用于存储用户感兴趣的主题以及用户ID和主题ID。该表格看起来像
Topic name topic id User-id
Sports 1 1
Education 2 3
Family 3 1
我想要做的是当一个新用户,比如用户ID' 3'添加他作为主题体育的兴趣,然后第一行应该看起来像这样
Topic name topic id User-id
Sports 1 1,3
当我尝试更新它时会覆盖整个列,如
Topic name topic id User-id
Sports 1 3
这样做的正确方法是什么?
答案 0 :(得分:1)
正确的方法是使用Many-To-Many
关系:
<强>表格强>
users (id, ....);
topics (id, ....);
topic_user (topic_id, user_id);
<强> PHP:强>
class User extends Model {
public function topics() {
return $this->belongsToMany('App\Topic');
}
}
和:
class Topic extends Model {
public function users() {
return $this->belongsToMany('App\User');
}
}
有关详细信息,请参阅https://laravel.com/docs/5.2/eloquent-relationships。
我希望这会有所帮助。