如何解决ownToManyRelation 在 Laravel 8 中不起作用
我有很多关系可以正确插入数据,但是当我尝试获取数据时它没有给我任何数据。
一张桌子是老板,另一张桌子是工人
-n
Migration
boss模型关系
<?PHP
public function up()
{
Schema::create('boss_worker',function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger('worker_id');
$table->unsignedBigInteger('boss_id');
$table->timestamps();
});
}
我如何尝试获取数据
public function workers()
{
return $this->belongsToMany(\App\Models\Admin\Worker::class,'boss_worker');
}
我如何插入数据
public function index()
{
$boss = Boss::find(1);
dd($boss->workers);
}
它没有获取任何数据
解决方法
使用
public function index()
{
$boss = Boss::with('workers')->find(1);
}
,
当您从要调用的模型中调用关系到 Illuminate\Database\Eloquent\Builder
时,您可以使用 Query Builder 访问和应用任何过滤器或查询,以从该关系中获取数据,您必须使用这些方法执行查询
->get();
->first();
您的代码必须是:
$boss = Boss::find(1);
$workers = $boss->workers()->get();
dd($workers);
或者您可以使用 Boss 模型制作 eager loading
$boss = Boss::with('workers')->find(1);
dd($boss->workers);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。