我有個問題。
資料庫設定表: ![如果是照片,如何更新傳入值?[拉拉維爾 9]](https://img.uj5u.com/2022/06/06/e90816956a7d4a318c3cd23ffece480c.png)
添加新設定時,我正在發送這樣的資料:
<div class="form-group">
<label>Tip</label>
<select class="form-control" name="type">
<option value="text">K?sa yaz?</option>
<option value="file">Dosya (Resim vb.)</option>
<option value="textarea">Uzun yaz?</option>
<option value="ckeditor">Detayl? Metin Edit?rü</option>
</select>
</div>
我在編輯時查詢這個:
@if ($setting->type == 'file')
<div class="form-group">
<img width="200" height="100" src="{{ asset('storage/' . $setting->value) }}">
</div>
<div hljs-string">">
<input type="file" name="value" hljs-string">" />
</div>
@else
<div hljs-string">">
<label>A??klama:</label>
@endif
更新方法:
public function update(Request $request, Setting $setting)
{
$request->validate([
'key' => 'required',
'value' => 'required',
'type' => 'required',
'description' => 'required',
]);
$setting->update([
'key' => $request->key,
'value' => $request->value,
'type' => $request->type,
'description' => $request->description,
]);
return redirect()->route('admin.settings.index')->with('message', 'Ayar ba?ar?yla güncellendi.');
}
我的問題是:如果價值部分是照片,我如何將其更新為照片...
uj5u.com熱心網友回復:
您可以使用UploadedFile's store或storeAs來存盤上傳的檔案,然后將檔案路徑作為值存盤在資料庫中。
別忘了enctype="multipart/form-data"在表格上有
public function update(Request $request, Setting $setting)
{
$validated = $request->validate([
'key' => 'required',
'value' => 'required',
'type' => 'required',
'description' => 'required',
]);
if($request->hasFile('value') && $request->file('value')->isValid() ){
$validated['value'] = $request->file('value')->store('/files', 'public');
}
$setting->update($validated);
return redirect()->route('admin.settings.index')->with('message', 'Ayar ba?ar?yla güncellendi.');
}
Laravel 檔案 - 請求 - 檔案
uj5u.com熱心網友回復:
**這就是我解決問題的方法,這是一個簡單的問題,對不起**
public function update(Request $request, Setting $setting)
{
$request->validate([
'key' => 'required',
'type' => 'required',
'description' => 'required',
]);
$value = $setting->value;
if ($request->type == 'file') {
$value = $request->file('value')->store('public/settings');
} else {
$value = $request->value;
}
$setting->update([
'key' => $request->key,
'type' => $request->type,
'description' => $request->description,
'value' => $value,
]);
return redirect()->route('admin.settings.index')->with('message', 'Ayar ba?ar?yla güncellendi.');
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/485939.html
上一篇:相同路由不同的中間件路由組
下一篇:如何搜索具有完全相同關系值的集合
