【发布时间】:2017-12-29 08:44:12
【问题描述】:
我有一个 users 表和一个具有 多对多 关系的 roles 表。这两个表连接到一个名为 role_user 的联结表。
This is a model of the tables and its connections.
以下是我的 Laravel 项目中的模型:
用户
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
public function roles()
{
return $this->belongsToMany('App\Role');
}
}
角色
namespace App;
use Illuminate\Database\Eloquent\Model;
class Role extends Model
{
public function users()
{
return $this->belongsToMany('App\User');
}
}
以下是 Laravel 项目中的 Factory 文件:
$factory->define(App\User::class, function (Faker\Generator $faker) {
return [
'name' => $faker->name,
'email' => $faker->unique()->safeEmail,
'password' => $password ?: $password = bcrypt('secret'),
];
});
$factory->define(App\Role::class, function (Faker\Generator $faker) {
return [
'role' => $faker->realText($maxNbChars = 2),
'description' => $faker->realText($maxNbChars = 20),
];
});
以下是 Laravel 项目中的 Seed 文件:
public function run()
{
factory(App\User::class, 50)->create()->each(function ($u) {
$u->roles()->save(factory(App\Role::class)->make());
});
factory(App\Role::class, 20)->create()->each(function ($u) {
$u->users()->save(factory(App\User::class)->make());
});
}
这应该填充 users 表和 roles 表,但我该如何填充 role_user 表? (我没有连接表的模型文件。)
我对此很陌生,因此我们将不胜感激。谢谢。
【问题讨论】:
-
嗨,stackoverflow.com/users/8092338/bilal-khawar。我认为 user 下面的块中有错字,不应该是 user 类而不是 role 吗?
标签: laravel laravel-5 factory faker laravel-seeding