Php 拉威尔:可以';不要将数据保存到表中
我想在我的令牌表中保存令牌: My TokenController.php的存储方法如下所示:Php 拉威尔:可以';不要将数据保存到表中,php,html,laravel,Php,Html,Laravel,我想在我的令牌表中保存令牌: My TokenController.php的存储方法如下所示: public function store() { $user = Sentry::getUser(); $user = User::with('tokens')->where('id', $user->id)->first(); Token::create([ 'user_id' => $user->id,
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',
]);
这是我视图中的表,它将数据发送到store方法:
<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>
奇怪的是,我的种子文件将所有内容完美地保存在我的表中:
我的令牌表种子:
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)
]);
}
}
}
所以,这真的很奇怪,因为名字保存得很好,但没有“描述”和“标记”,所以在我的播种机准备好并且我手动创建标记之后,所有东西都保存了,除了描述和标记
下面是它的样子:
似乎只有一个字写错了,但我检查了一百遍,找不到原因,为什么没有保存
非常感谢您的帮助
亲切问候,
George为了在模型上使用
创建
方法,必须使用可填充
属性指定要设置的属性
我不知道为什么它可以用于播种,但不能用于生产代码。也许种子设定不知何故绕过了
create
方法,只是直接将值写入数据库。只是暗中捅了一刀。。。您是否在令牌模型上定义了$filleble
属性?(). 我不知道为什么它会适用于种子,但不适用于生产代码,但也许种子只是工作方式不同而已?谢谢。如果您使用以前由其他人生成的代码,就会发生这种情况。你能写下你的评论作为解决方案吗,因为我想检查它是否正确。确实是模型,具有静态可填充特性。非常感谢,我会的。很高兴我能帮忙。
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)
]);
}
}
}