Php Laravel 5 |用上一条记录覆盖记录| Ubuntu
在我的代码中, 我尝试使用“php artisan tinker”一次添加多条记录 我的意见:Php Laravel 5 |用上一条记录覆盖记录| Ubuntu,php,laravel,eloquent,laravel-5.2,Php,Laravel,Eloquent,Laravel 5.2,在我的代码中, 我尝试使用“php artisan tinker”一次添加多条记录 我的意见: $tag = new App\tags => App\tags {#666} $tag->name = 'General' => "General" $tag->save() => true 然后我得到 App\tags::get() => Illuminate\Database\Eloquent\Collecti
$tag = new App\tags
=> App\tags {#666}
$tag->name = 'General'
=> "General"
$tag->save()
=> true
然后我得到
App\tags::get()
=> Illuminate\Database\Eloquent\Collection {#696
all: [
App\tags {#702
id: "7",
name: "General",
created_at: "2016-02-11 05:18:33",
updated_at: "2016-02-11 05:18:33",
},
],
}
我再加一个,
$tag->name = 'Private'
=> "Private"
$tag->save()
=> true
然后我又得到了
App\tags::get()
=> Illuminate\Database\Eloquent\Collection {#694
all: [
App\tags {#692
id: "7",
name: "Private",
created_at: "2016-02-11 10:48:59",
updated_at: "2016-02-11 05:18:59",
},
],
}
我还尝试了“::all()”,得到了相同的结果
我的代码有什么问题。在设置
$tag->name='Private'
首先再次运行
$tag=new App\tags
。它只会覆盖上一个并更新当前记录。但是,为什么我不能连续添加记录。你可以,你只需要先创建一个新标记$tag
仍保留第一个标记,因此您只需更改其名称。您可以连续添加记录,但该记录已绑定到该对象。因此,当您更新对象时,您将更新数据库中的行。必须创建一个新对象来表示数据库中的新行。您可以尝试App\Tags::create(['name'=>'Private'])
,它将为您执行保存并始终创建新记录。@ShankarThiyagaraajan没问题!如果答案对您有帮助,请接受:)