爲什麼我的播種機代碼中的「關係」不起作用?它插入到用戶模型沒有任何問題。但是不會向UserMeta模型插入任何內容。甚至沒有任何錯誤。
我已經在控制器中測試過這段代碼。它運行罰款與 「關係」Laravel:如何在關係中運行播種機
<?php
use Illuminate\Database\Seeder;
use App\User;
use App\UserMeta;
class MyUsersTableSeeder extends Seeder
{
/**
* Auto generated seed file.
*
* @return void
*/
public function run()
{
if (User::count() == 0) {
$user = User::create([
'name' => 'Admin',
'email' => '[email protected]',
'password' => bcrypt('password'),
'remember_token' => str_random(60),
]);
$user_meta = new UserMeta([
'meta_key' => 'role',
'meta_value' => 'admin',
]);
$user->UserMeta()->save($user_meta);
}
}
}
型號用戶
public function UserMeta()
{
return $this->hasOne('App\UserMeta', 'user_id');
}
型號UserMeta
public function user()
{
return $this->belongsTo('App\User');
}
用戶表
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
usermeta表
Schema::create('usermeta', function (Blueprint $table) {
$table->increments('user_meta_id');
$table->integer('user_id')->unsigned();
$table->string('meta_key');
$table->string('meta_value');
});
告訴你兩個模型的關係 –
用戶表是否有usermeta_id? – Sletheren