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 模型中使用受保护的属性

Laravel - 注册不要在数据库中保存表单响应

带有 Eloquent 的 Laravel 不会在数据库中保存模型属性

使用“logoutOtherDevices”时,Laravel 新密码不会保存到数据库中

如何通过laravel中的控制器将数据保存在数据库中

Laravel 文档多次上传未保存到数据库