阅读List<A> listA;
class A {
String x;
}
List<String> listB;
Laravel
模型文档后,我有点困惑。所以我有这个数据库结构:
Eloquent
一个任务可能包含零个,一个或多个标签。当然,一个标签可能与零,一个或多个任务有关。
我试过了,但不确定:
task
id
name
description
tag
id
name
task_tag
id
task_id
tag_id
在这种情况下, <?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Task extends Model {
public function tags() {
return $this->hasMany('App\Tag');
}
}
是最好的解决方案,还是我需要使用别的东西?
答案 0 :(得分:2)
您所描述的内容听起来像是典型的多对多关系(包括您概述的数据透视表)。 hasMany()
旨在用于一对多关系。对于Many To Many,您应该使用belongsToMany()
。所以你的任务模型看起来像:
namespace App;
use Illuminate\Database\Eloquent\Model;
class Task extends Model
{
public function tags()
{
return $this->belongsToMany('App\Tag');
}
}