更新或创建行数据库。拉拉维尔
Posted
技术标签:
【中文标题】更新或创建行数据库。拉拉维尔【英文标题】:Update or create rows database. Laravel 【发布时间】:2021-07-12 20:11:52 【问题描述】:我在数据库中创建新记录时遇到了一点问题。我需要在技能表中创建或更新记录。来自用户的请求是一个数组。我使用循环从请求中检索数据。当我提交表单时,技能数组显示为空。我该如何解决这个问题?
谢谢,提前
$skills = [];
for ($i = 0;$i < count($validated['skills_name']);$i++)
$data = [
'name' => $validated['skills_name'][$i],
'rate' => $validated['skills_rate'][$i]
];
$skills[] = $data;
Skill::updateOrCreate(['profile_key' => Auth::user()->profile->key],$skills);
【问题讨论】:
【参考方案1】:感谢大家的支持。我解决了这个问题。
for ($i=0; $i <count($validated['skills_name']) ; $i++)
$skill = new Skill();
$skill->profile_key = Auth::user()->profile->key;
$skill->name = $validated['skills_name'][$i];
$skill->rate = $validated['skills_rate'][$i];
$skill->save();
【讨论】:
【参考方案2】:在 php 中,你可以像这样创建一个空数组
$skills = array();
然后如果你想将数据推送到数组中,你可以简单地使用这段代码
array_push($skills , $data);
【讨论】:
问题出在这里。Skill::updateOrCreate(['profile_key' => Auth::user()->profile->key],------$skills is empty------$skills);
以上是关于更新或创建行数据库。拉拉维尔的主要内容,如果未能解决你的问题,请参考以下文章