Laravel 没有在数据库中保存 textarea 值
Posted
技术标签:
【中文标题】Laravel 没有在数据库中保存 textarea 值【英文标题】:Laravel not saving textarea value in the db 【发布时间】:2016-03-20 14:39:04 【问题描述】:我真的不知道为什么这段代码没有保存 textarea 值是什么问题。除了保存 textarea 内容外,所有其他事情都运行良好。如果我删除 textarea 代码,它会成功保存。
这是控制器动作:
public function store(CompanyRequest $companyRequest)
$company = new Company;
if($companyRequest->isMethod('post'))
$company->companyname = $companyRequest->companyname;
$company->companydescription = $companyRequest->companydescription;
$company->save();
return redirect()->route('companyindex')->with('message', 'Your question has been posted.');
else
return redirect('company-create')->withErrors($companyRequest)->withInput();
这是刀片视图:
!! Form::textarea('companydescription', Input::old('companydescription'), ['class'=>'mid first-input-div', 'id'=>'companydescription']) !!
这是请求文件;
class CompanyRequest extends Request
public function authorize()
return true;
public function rules()
return [
'companyname' => 'required|min:5|max:300',
'companydescription' => 'required|min:200|max:250'
];
【问题讨论】:
【参考方案1】:改变你的这些行
$company->companyname = $companyRequest->companyname;
$company->companydescription = $companyRequest->companydescription;
到这里
$company->companyname = $companyRequest->input('companyname');
$company->companydescription = $companyRequest->input('companydescription');
然后试一试,记住,当你设置 textarea min:200
个字符时,你应该输入 200 个或以上的字符。
【讨论】:
非常感谢您的贡献。错误是输入了正确数量的预期输入的字符。我想要最少 200 个单词而不是字符,所以这是我改变的地方,所以我必须增加预期最多可容纳 200 个单词的字符数。以上是关于Laravel 没有在数据库中保存 textarea 值的主要内容,如果未能解决你的问题,请参考以下文章
如何在没有 Laravel 尝试将其保存到数据库的情况下在 Eloquent 模型中使用受保护的属性
带有 Eloquent 的 Laravel 不会在数据库中保存模型属性