Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.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
Php Laravel雄辩模型多对多或一对多_Php_Laravel_Laravel Eloquent - Fatal编程技术网

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');
    }
}