laravel - 我收到这个错误。知道如何删除这个 .Creating default object from empty value laravel 5.8
问题描述
我想做的是用户可以将消息发送到另一条消息到目前为止我所做的是..我创建了一个名为 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 对象为空:
也许你应该尝试另一种方法:
public function store(Request $request)
{
Message::create($request->all() + ['sender_id' => auth()->id()]);
return redirect('user');
}
推荐阅读
- python - IndexError:用于绘制图形的python中的元组索引超出范围
- angular - Angular:如何自定义 FormArray 验证以检查重复项
- javascript - 如何遍历 JavaScript 中的分组对象
- algorithm - 有没有办法在没有总进程数的情况下计算进度?
- c# - 无法在 ASP.NET MVC 中触发事件
- javascript - 跨管理员和网络共享 Firestore 收集路径
- javascript - useRef() 而不是仅仅在模块范围内声明一个变量有什么好处?
- bash - 如何在 bash 中将 bash 命令作为函数参数传递?
- python - 如何在检测标签时保留 cv2.waitKey 值
- c# - 如何修复 UWPHOST.dll 未找到?