【问题标题】:Laravel 5.2 Many to many with custom pivotLaravel 5.2 多对多与自定义枢轴
【发布时间】:2016-06-08 16:35:44
【问题描述】:

我有两个表,“用户”和“主题”,带有自定义数据透视表“讲师_主题”,

我正在尝试通过在主题类中添加以下代码来建立多对多关系:

function users(){
        return $this->belongsToMany('App\User','lecturers_subjects','user_id','subject_id');
    }

但是,当我尝试显示某些主题的用户时,它找不到用户($subject->users 数组为空)

$subjects = Subject::all();
foreach($subjects as $subject){
            var_dump($subject->id); //displays 1
            foreach($subject->users as $user){ //array is empty
                var_dump($user->id);
            }
        }

我错过了什么?

【问题讨论】:

    标签: php mysql laravel laravel-5 laravel-5.2


    【解决方案1】:

    改变

    function users(){
            //order of keys
            return $this->belongsToMany('App\User','lecturers_subjects','subject_id','user_id');
        }
    

    应该这样做

    【讨论】:

    • 不走运,数组 $subject->users() 是空的,而数据显然在那里
    • 更改用户()方法中的键顺序,就像我在答案@MisterM 中更新的那样
    • 好的,现在它适用于 foreach($subject->users)(不需要另一个发现)但不适用于 $subject->users(),请更新答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-20
    • 1970-01-01
    • 1970-01-01
    • 2016-07-08
    • 2021-07-16
    • 2021-08-12
    • 1970-01-01
    相关资源
    最近更新 更多