我有一个projects
表,里面有type
列。
我的问题是如何首先获取所有不同的type
,然后再获取该类型下的所有项目。
我的目标是输出这样的列表:
Type: Type 1
Projects: project 1, project 2, project 3
Type: Type 2
Projects: project 4, project 5, project 6
我无法将type
和projects
用不同的表分开并使用一种关系,因为该数据库正在被另一个项目使用,并且它已经有很多数据。
答案 0 :(得分:0)
在类型模型中,您可以添加与Projects的关系,最后使用with
方法在每个Type
实例上包括所有项目。
一些伪代码可以是:
class Type extends Model
{
public function projects()
{
return $this->hasMany('App\Project');
}
}
function test()
{
$types = Types::with('projects')->get();
foreach ($types as $type) {
echo $type->name;
foreach ($type->projects as $project) {
echo $project->name;
}
}
}
答案 1 :(得分:0)
您可以这样做
Types::select('*')
->get()
->groupBy(DB::raw('type'));