Php Laravel雄辩模型多对多或一对多
阅读了Php Laravel雄辩模型多对多或一对多,php,laravel,laravel-eloquent,Php,Laravel,Laravel Eloquent,阅读了Laravel雄辩的模型文档后,我有点困惑。所以我有这个数据库结构: task id name description tag id name task_tag id task_id tag_id 一个任务可能有零个、一个或多个标记。当然,一个标记可以连接到零个、一个或多个任务 我试过这个,但不确定: <?php namespace App; use Illuminate\Database\Eloquent\Model; c
Laravel
雄辩的模型文档后,我有点困惑。所以我有这个数据库结构:
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');
}
}
您描述的内容听起来像是典型的多对多关系(包括您概述的透视表)hasMany()
用于一对多关系。对于多对多,应该使用belongtomany()
。因此,您的任务模型如下所示:
.您描述的内容听起来像是典型的多对多关系(包括您概述的透视表)hasMany()
用于一对多关系。对于多对多,应该使用belongtomany()
。因此,您的任务模型如下所示:
namespace App;
use Illuminate\Database\Eloquent\Model;
class Task extends Model
{
public function tags()
{
return $this->belongsToMany('App\Tag');
}
}