【问题标题】:saving data to the database将数据保存到数据库
【发布时间】:2019-11-22 00:28:12
【问题描述】:

我试图将数据保存到数据库,但我收到错误Creating default object from empty value

namespace App\Http\Controllers;

use Illuminate\Http\Request; use App\Message;

class MessageController extends Controller 
{ 
    public function submit(Request $request)
    { 
        $this->validate($request, [ 'name' => 'required', 'email' => 'required']);

        //create a new message
        $messge= new Message;

        $message->name=$request->name;
        $message->email = $request->email;
        $message->message = $request->message;

        //message save

        $message -> save();
        return redirect('/');
    }
}

【问题讨论】:

  • $messge= 新消息; ??? $messge=new Message();
  • 谢谢我把它,但它仍然不工作
  • Talg123,这不是语法错误,因为 php 接受它。
  • 您的问题如下:您设置了一个名为 $messge 的变量。然后,您将从一个名为 $message 的变量中设置成员(姓名、电子邮件、消息)。修正你的错字,它应该可以工作;)
  • 所以我还是 laravel 的新手,我一直在学习教程,现在我卡在最后的代码上,请帮助

标签: laravel-5 eloquent laravel-4


【解决方案1】:

您遇到的是“错字”。您正在使用变量 $messge 初始化模型,然后使用不同的名称 $message 访问它。正确代码:

namespace App\Http\Controllers;

use Illuminate\Http\Request; 

use App\Message;

class MessageController extends Controller 
{ 
    public function submit(Request $request)
    { 
        $this->validate(
            $request, 
            [ 
                'name' => 'required',
                'email' => 'required'
            ]
        );

        //create a new message
        $message= new Message;

        $message->name=$request->name;
        $message->email = $request->email;
        $message->message = $request->message;

        //message save
        $message->save();
        return redirect('/');
    }
}

【讨论】:

    猜你喜欢
    • 2012-07-21
    • 2019-03-31
    • 2013-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多