我遇到此错误。任何想法我该如何删除。从空值创建默认对象laravel 5.8

问题描述 投票:0回答:1

我正在尝试做的是,到目前为止,用户可以将消息发送到另一条消息。我已经创建了一个名为Message的模型,并且已经在模型中定义了

use App\User;
use Illuminate\Database\Eloquent\Model;

class Message extends Model
{
    //
    protected $fillable= ['sender_id',
    'receiver_id','message',
];
public function user()
{
    return $this->belongsTo(User::class);
}
}

我已经在用户模型(例如]中定义了房地产)>

public function Message()
      {
        return $this->hasMany(Message::class,'receiver_id');
      }

我创建了诸如]之类的邮件迁移>

   public function up()
    {
        Schema::create('messages', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->integer('sender_id');
            $table->integer('receiver_id');
            $table->string('message');
            $table->timestamps();
        });
    }

我正在尝试做的是,该用户可以将消息发送给另一个用户在我的消息控制器中,我定义了例如>>

   public function store(Request $request)
    {
        //
        //dd($request->all());
        $message=new Message();
        $message ->fill($request->all());
        $mesaage->sender_id=Auth::id();
        $message->save();
        return redirect('user');

    }

其中request-> all()正在获取填写在表格中的所有信息我表单中的代码例如

    <form method="POST" action="{{route('Message.store')}}">
                @csrf   
                        <i class="icon-material-outline-account-circle">{{auth::user()->name}}</i>

                    <textarea name="textarea" cols="10" placeholder="Message" class="with-border"></textarea>
                    <input type="hidden" name="receiver_id" id="receiver_id" value="{{$user->id}}">
                <!-- Button -->
                <button class="button margin-top-35 full-width button-sliding-icon ripple-effect" type="submit">Make an Offer <i class="icon-material-outline-arrow-right-alt"></i></button>
            </form>
            </div>

我在此行出现错误,该错误是$ mesaage-> sender_id = Auth :: id();从空值创建默认对象

我的用户登录的位置..

我想做的是,到目前为止,用户可以将消息发送到另一条消息。.我已经创建了一个名为Message的模型,并且已经在模型中定义了诸如use App \ User;使用...

我的问题是您的$ message对象为null:

也许您应该尝试另一种方法:

    public function store(Request $request)
    {
        Message::create($request->all() + ['sender_id' => auth()->id()]);

        return redirect('user');
    }
laravel laravel-5.8
1个回答
0
投票

我的问题是您的$ message对象为null:

© www.soinside.com 2019 - 2024. All rights reserved.