【发布时间】:2023-04-07 02:25:02
【问题描述】:
我在返回属于许多关系时遇到问题。这是我的场景。我有“Individual”模型和“Group”模型,其中每个个人可以属于多个组,每个组可以属于多个用户。使用诸如“localhost/phpmyadmin”之类的数据库蓝图很好,因为我可以单击“group_individual”表上的“组”列,它会返回到“组”表上的相关组。但是在 Laravel 中工作,我得到的是空数组。你能帮我吗?感谢您的宝贵时间。
迁移
Schema::create('groups', function (Blueprint $table) {
$table->id();
$table->string('group_id')->unique();
$table->string('name');
$table->unsignedBigInteger('members');
$table->string('url')->nullable();
$table->timestamps();
});
Schema::create('individuals', function (Blueprint $table) {
$table->id();
$table->string('search_id')->unique();
$table->timestamps();
});
Schema::create('group_individual',function($table){
$table->id();
$table->string('group');
$table->string('individual');
$table->foreign('group')->references('group_id')->on('groups')->onDelete('cascade');
$table->string('type');
$table->foreign('individual')->references('search_id')->on('individuals')->onDelete('cascade');
});
个体模型
public function groups():\Illuminate\Database\Eloquent\Relations\BelongsToMany
{
return $this->belongsToMany(Group::class,'group_individual','individual','group');
}
组模型
public function individuals():\Illuminate\Database\Eloquent\Relations\BelongsToMany
{
return $this->belongsToMany(Individual::class,'group_individual','group','individual');
}
控制器
public function import(){
Individual::create([]);
Group::create([]);
\DB::table('group_individual')->insert(['group'=>,'individual'=>,'type'=>]);
$individual=Individual::find(1);
dd($individual->groups);
}
来自上述控制器的$individual->groups 返回空数组。
【问题讨论】:
标签: php laravel eloquent many-to-many