Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql Laravel从关系表中获取数据_Mysql_Laravel_Model_Tags_Laravel 7 - Fatal编程技术网

Mysql Laravel从关系表中获取数据

Mysql Laravel从关系表中获取数据,mysql,laravel,model,tags,laravel-7,Mysql,Laravel,Model,Tags,Laravel 7,我正在用Laravel 7.28建立一个项目。我有三张桌子,名字叫;项目、标记和项目\标记。在项目标签表中有项目ID和标签ID。看起来是这样的: 我需要得到所有项目与他们的标签,其次,我需要得到项目与某些标签。那么我应该在模型中做什么呢?我应该使用哪个函数以及如何使用?我怎样才能得到数据 我发现了rtconner/laravel标签包,但这是正确的方法吗?感谢您的帮助您可能希望在项目和标记之间建立关系 类项目扩展模型 { 公共函数标签() { 返回$this->belongtomany(Tag

我正在用Laravel 7.28建立一个项目。我有三张桌子,名字叫;项目、标记和项目\标记。在项目标签表中有项目ID和标签ID。看起来是这样的:

我需要得到所有项目与他们的标签,其次,我需要得到项目与某些标签。那么我应该在模型中做什么呢?我应该使用哪个函数以及如何使用?我怎样才能得到数据


我发现了rtconner/laravel标签包,但这是正确的方法吗?感谢您的帮助

您可能希望在项目和标记之间建立关系

类项目扩展模型
{
公共函数标签()
{
返回$this->belongtomany(Tag::class,'project_tags')->withTimestamps();
}
}
然后:

//获取所有项目及其标记。
Project::with('tags')->get();
//Get项目包含特定标记。
项目::whereHas('tags',函数($query){
返回$query->where('tag','somevalue');
})
此外,标记往往是一种关系。因此,如果您想长期手动处理标记,我建议采用这种方式进行设计


另外,签出软件包。

尝试多对多和快速加载,而不是尝试软件包,请阅读有关雄辩和雄辩关系的文档,以便更好地了解如何使用相关表。当我运行此操作时,我得到了所有项目,但我只得到了两个带有此标记的项目。我做错smt了吗?