Laravel 没有在数据库中保存文本区域值
Laravel not saving textarea value in the db
我真的搞不懂为什么这段代码不保存 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();
}
}
这是 blade 视图:
{!! 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'
];
}
改变你的这些行
$company->companyname = $companyRequest->companyname;
$company->companydescription = $companyRequest->companydescription;
至此
$company->companyname = $companyRequest->input('companyname');
$company->companydescription = $companyRequest->input('companydescription');
然后试一试,记住,当你设置textarea min:200
个字符时,你应该输入200个或以上的字符。
我真的搞不懂为什么这段代码不保存 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();
}
}
这是 blade 视图:
{!! 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'
];
}
改变你的这些行
$company->companyname = $companyRequest->companyname;
$company->companydescription = $companyRequest->companydescription;
至此
$company->companyname = $companyRequest->input('companyname');
$company->companydescription = $companyRequest->input('companydescription');
然后试一试,记住,当你设置textarea min:200
个字符时,你应该输入200个或以上的字符。