Я хочу, чтобы сохранить маркер в моей таблице лексем:Laravel: Не удается сохранить данные в таблицу
Мой магазин-метод моего TokenController.php выглядит следующим образом:
public function store() {
$user = Sentry::getUser();
$user = User::with('tokens')->where('id', $user->id)->first();
Token::create([
'user_id' => $user->id,
'name' => Input::get('tokenname'),
'description' => 'whatever',
'tag' => 'whatever1',
]);
Вот мой Таблица, на мой взгляд, который посылает данные в магазин-метод:
<table>
{{Form::open(array('route' => array('admin.referencing.store', $user->id), 'method' => 'POST', 'id'=>'tokenCreateForm'))}}
<div class="form-group">
{{ Form::input('number', 'numberoftokens', false, array('placeholder' => 'Number of Tokens', 'id' => 'numberoftokens')) }}
</div>
<div class="form-group">
{{ Form::input('text', 'tokenname', false, array('placeholder' => 'Name of Token', 'id' => 'tokenname')) }}
</div>
<div class="form-group">
{{ Form::input('text', 'tokendescription', false, array('placeholder' => 'Description', 'id' => 'tokendescription')) }}
</div>
<div class="form-group">
{{ Form::input('text', 'tokentag', false, array('placeholder' => 'Tag', 'id' => 'tokentag')) }}
</div>
<div class="form-group">
<button class="btn btn-primary" type="submit">
<i class="fa fa-save"></i>
Create
</button>
</div>
{{Form::close()}}
</table>
И это как моя база данных выглядит как (мой Идентификаторы миграции)
public function up()
{
Schema::create('tokens', function(Blueprint $table)
{
$table->increments('id');
$table->integer('user_id')->unsigned()->index();
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
$table->string('name', 60)->index();
$table->string('description');
$table->string('tag');
$table->timestamps();
});
}
Что странно, что мой Seedfile сохраняет все прекрасно в моей таблице:
Мой TokenTableSeeder:
class TokenTableSeeder extends Seeder {
public function run()
{
$faker = Faker::create();
Token::truncate();
foreach(range(1, 10) as $index)
{
Token::create([
'user_id' => rand(1,4),
'name' => $faker->country,
'description' => $faker->name,
'tag' => rand(1,4)
]);
}
}
}
Таким образом, это действительно странно, потому что NAME будет сохранен полностью, но не «description», а не «тег», так что после того, как моя сеялка будет готова, и я вручную создаю токены, все будет сохранено, кроме описания и тега.
Вот как это выглядит:
http://i.imgur.com/x3dRF6d.jpg
Похоже, что должно быть только слово написано неправильно, но я проверил это в сто раз и не могу найти причину, почему не сохраняется.
Любая помощь очень ценится.
Уважением,
Джордж
Просто удар в темноте ... Вы определили свойство '$ fillable' в модели Token? ([Документация] (http://laravel.com/docs/eloquent#mass-assignment)). Я не знаю, почему это будет работать для посева, но не для производственного кода, но, возможно, посев работает иначе? – Kryten
Спасибо. Это происходит, если вы работаете с кодом, который ранее был произведен кем-то другим. Не могли бы вы написать свой комментарий как решение, потому что я хотел бы проверить его как правильно. Это действительно была Модель, которая обладала свойствами статического заполнения. Большое спасибо. – LoveAndHappiness
сделаю. Рад, что смог помочь. – Kryten