数组到字符串转换错误,如何使用 laravel 存储表单中的数据
Posted
技术标签:
【中文标题】数组到字符串转换错误,如何使用 laravel 存储表单中的数据【英文标题】:Array to string conversion error, how to store data from a form using laravel 【发布时间】:2021-07-26 08:31:00 【问题描述】:表格帖子和功能之间的多对多关系
后控制器
public function create()
$features = Feature::all();
return view('form', compact('features'));
public function store(Request $request)
$post = Post::create($request->except(['features']));
$post->features()->sync($request->feature);
HTML
<div class="row">
@foreach($features as $feature)
<div class="col-6 col-md-3 mt-2 ">
<div class="form-check form-check-inline mr-4 pr-4">
<input class="form-check-input" type="checkbox" id="$feature" name="feature[]" value="$feature->id">
<label class="form-check-label" for="$feature">$feature->feature</label>
</div>
</div>
@endforeach
</div>
FeatureSeeder
public function run()
Feature::create(['feature'=>'Backup Camera']);
Feature::create(['feature'=>'Cruise Control']);
Feature::create(['feature'=>'Power Steering']);
Feature::create(['feature'=>'Hands-Free']);
Feature::create(['feature'=>'Heated Seats']);
Feature::create(['feature'=>'Keyless-Entry']);
Feature::create(['feature'=>'Sunroof']);
如果问题格式不正确或需要任何信息,请随时发表评论, **提前致谢**
【问题讨论】:
您知道代码中的哪个部分产生了错误吗? 我认为是,数据类型错误或! @aceraven777 您在哪里看到错误?当你点击保存按钮时? 是的@aceraven777 【参考方案1】:尝试从 PostController 中移除 compact():
public function create()
$features = Feature::all();
return view('form', ['features' => $features]);
【讨论】:
我不能有其他要传递的数据,任何其他选项【参考方案2】:我认为你的错误在于:
<input class="form-check-input" type="checkbox" id="$feature" name="feature[]" value="$feature->id">
<label class="form-check-label" for="$feature">$feature->feature</label>
请试试这个:
<input class="form-check-input" type="checkbox" id="$feature->id" name="feature[]" value="$feature->id">
<label class="form-check-label" for="$feature->id">$feature->feature</label>
【讨论】:
以上是关于数组到字符串转换错误,如何使用 laravel 存储表单中的数据的主要内容,如果未能解决你的问题,请参考以下文章
尝试使用 AJAX 在 Laravel 中上传单个文件时出现数组到字符串转换错误
“数组到字符串的转换”错误 Laravel - 尝试将数组保存到数据库
laravel - ErrorException 数组到字符串的转换