当用户提交他们选择的图片时,我想知道为什么在提交表单时不将其发送到数据库。我认为我的模型和控制器有点过错,即在PostPicturesController.php
文件中,其中body
可能是造成此问题的原因,但我可能会犯错。如何解决此问题,并使用户选择的文件在提交表单后发送到数据库。下面提供了胶粉。
我在控制台中遇到一个快速错误,但是单击“提交”后它很快就会真正消失,因此很难捕捉到它,但是我看到的是红色背景的POST(红色背景),显示红色错误,表示可能有错误。与我的react.js代码中的axios.post
有关。
https://pastebin.com/eyzT7kXH(Laravel代码模型,控制器,web.php) https://pastebin.com/EMwmAdJU(react.js代码,方法和JSX来处理发布请求)
我进入控制台错误:
POST http://my_website.test/home 500 (Internal Server Error)
Here's the error Error: Request failed with status code 500
我在日志中出现错误:
[2019-09-14 21:23:38] local.ERROR: Call to undefined method
Illuminate\Database\Eloquent\Relations\BelongsTo::postPictures()
{"userId":5,"exception":"[object] (BadMethodCallException(code: 0):
Call to undefined method
Illuminate\\Database\\Eloquent\\Relations\\BelongsTo::postPictures()
答案 0 :(得分:0)
很多问题都会导致内部服务器错误(500)
将此行添加到您的.htaccess文件中以跟踪这些错误
php_flag display_errors on
以及您的PHP文件的顶部:
ini_set('display_errors', 1);
答案 1 :(得分:0)
方法链接似乎是一个问题。我认为您链接这些方法$postPicture->user()->postPictures()
的方式引起了意外的行为,因为user
返回的是一个属于属于关系的实例本身而不是用户对象,该对象实际上具有postPictures
方法
编辑:您需要调用get
来获取相关数据,而不仅仅是关系本身,即$postPicture->user()->get()
。这应该返回具有postPictures
方法的用户对象。
相关源代码: Model::belongsTo和 Relation::get