eloquent 多对多关联模型的问题:请帮忙看看为什么取不到数据呢,检查了好久了,请指点一下!

...
use App\Models\Admin\Company;
...
class User extends Authenticatable
{
    protected $table = 'users';
    ...
    public function companies()
    {
        return $this->belongsToMany(Company::Class, 'user_company', 'user_id', 'company_id');
    }

}
-----------------------------------------
...
use App\Models\User;
...
class Company extends Model
{
    protected $table = 'companies';
    ...
    public function users()
    {
        return $this->belongsToMany(User::Class, 'user_company', 'company_id', 'user_id');
    }
}
---------------------------------------------------------------
$companies = $user->companies();
dd( $user->companies());
------------------------------------------------
id  user_id company_id  created_at  updated_at
77  1   45  2019-08-26 10:55:07 2019-08-26 10:55:07
78  3   46  2019-08-26 10:55:07 2019-08-26 10:55:07
79  1   47  2019-08-26 10:55:24 2019-08-26 10:55:24
80  3   48  2019-08-26 10:55:24 2019-08-26 10:55:24
81  4   49  2019-08-26 10:55:24 2019-08-26 10:55:24
82  1   50  2019-08-26 10:55:36 2019-08-26 10:55:36
83  3   51  2019-08-26 10:55:36 2019-08-26 10:55:36
84  4   52  2019-08-26 10:55:36 2019-08-26 10:55:36
85  5   53  2019-08-26 10:55:36 2019-08-26 10:55:36
86  1   54  2019-08-26 10:55:48 2019-08-26 10:55:48
87  3   55  2019-08-26 10:55:48 2019-08-26 10:55:48
88  4   56  2019-08-26 10:55:48 2019-08-26 10:55:48
89  5   57  2019-08-26 10:55:48 2019-08-26 10:55:48
90  6   58  2019-08-26 10:55:48 2019-08-26 10:55:48
91  1   59  2019-08-26 10:56:06 2019-08-26 10:56:06
92  3   60  2019-08-26 10:56:06 2019-08-26 10:56:06
93  4   61  2019-08-26 10:56:06 2019-08-26 10:56:06
94  5   62  2019-08-26 10:56:06 2019-08-26 10:56:06
95  6   63  2019-08-26 10:56:06 2019-08-26 10:56:06
96  7   64  2019-08-26 10:56:06 2019-08-26 10:56:06

数据库中是有数据的,但是拿不出来,请大家帮忙看一下,是有哪里我没有注意到吗?

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案
$user->companies || $user->companies()->get()
4年前 评论
ninscious 4年前
HEPING (楼主) 4年前
曾是然 (作者) 4年前
讨论数量: 5
draven

你这个格式看起来好难受。。。。还有就是你可以先把sql语句打印出来检查一下

4年前 评论
HEPING (楼主) 4年前
draven
 public function companies()
    {
        return $this->belongsToMany(Company::Class, 'user_company', 'company_id', 'user_id');
    }

试试

4年前 评论
HEPING (楼主) 4年前
draven (作者) 4年前
draven (作者) 4年前
HEPING (楼主) 4年前
draven
DB::connection()->enableQueryLog();
$companies = $user->companies();
 dd(DB::getQueryLog());

打印sql
这能省你好多事

4年前 评论
draven (作者) 4年前
HEPING (楼主) 4年前
$user->companies || $user->companies()->get()
4年前 评论
ninscious 4年前
HEPING (楼主) 4年前
曾是然 (作者) 4年前

要看下你User::query()->get(); 查询结果有没有id,这个关联键是不能省略的。

4年前 评论
风吹过有夏天的味道 (作者) 4年前
HEPING (楼主) 4年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!