猿问

Laravel 不允许序列化“Closure”

错误:存储数据时“不允许序列化闭包”。


我在文本区域上使用 CKEditor。当没有更多文本时,数据会被存储,但当有更多文本(如第一个问题)并且在https://www.lipsum.com上得到回答时 ,则会在保存数据时显示错误。


存储功能


public function store(Request $request)

{

    $this->validate($request, [

        'noticeTitle'        => 'required',

        'noticeDesc'       => 'required',

    ]);


    $notice = new Notice;

    $notice->noticeTitle = $request->input('noticeTitle');

    $notice->noticeDesc = $request->input('noticeDesc');


    $notice->batch_id = $request->input('targetedGroup');



    if($request->hasFile('add_file')) {

        $noticeTitle = $request->input('noticeTitle');


        $filename  = $request->add_file->getClientOriginalName();


        $request->add_file->storeAs('public/noticeFile/additionalFiles', $noticeTitle.'_'.$filename);

        $path = $noticeTitle.'_'.$filename;


        $notice->file = $path;

    }

    dd($notice);

    try{

        $notice->save();

        Session::flash('success', 'Notice Saved');

        return redirect()->route('notice.index');

    }

    catch (\Throwable $th){

        Session::flash('danger', $th);

        return redirect()->route('notice.index');

    }

}

$notice 变量的转储如下


"noticeTitle" => "Lorem Ipsum Notice New"

    "noticeDesc" => """

      <h2>What is Lorem Ipsum?</h2>

      

      <p><strong>Lorem Ipsum</strong>&nbsp;is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry&#39;s standard dummy text  ▶

      """

    "batch_id" => "3"

    "file" => "Lorem Ipsum Notice New_s.pdf"

  ]


大话西游666
浏览 76回答 1
1回答

HUWWW

解决了。问题不在于商店功能,而在于迁移。对于 CKEditor 上的数据,我使用的是stringon migration。改了text之后问题就解决了。
随时随地看视频慕课网APP
我要回答