为什么上传的文件不会通过发帖请求发送到数据库?

时间:2019-09-15 01:53:30

标签: javascript php reactjs laravel debugging

当用户提交他们选择的图片时,我想知道为什么在提交表单时不将其发送到数据库。我认为我的模型和控制器有点过错,即在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()

2 个答案:

答案 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::belongsToRelation::get