Я следую учебному пособию, и я дошел до того, что сделать кнопку «следовать», как Instagram, но для моего случая было «поддержи меня сейчас», ничто не отличается, просто имя, но я получаю каждый раз, когда
"app.js:699 Uncaught (in promise) Error: Request failed with status code 500
at createError (app.js:699)
at settle (app.js:960)
at XMLHttpRequest.handleLoad (app.js:168)"
мой код пока что, show.blade. php:
<div>
<a class="float-left pb-4" href="#">Add New Images</a>
<support-button user-id="{{ $post->user->id }}"></support-button>
</div>
POST-контроллер:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
protected $guarded = [];
public function supporters()
{
return $this->belongsToMany(User::class);
}
public function user()
{
return $this->belongsTo(User::class);
}
}
USER-контроллер:
public function posts()
{
return $this->hasMany(Post::class)->orderBy('created_at', 'DESC');
}
public function supporting()
{
return $this->belongsToMany(Post::class);
}
public function fundraising()
{
return $this->hasOne(Fundraising::class);
}
моя кнопка поддержки vue. js:
<template>
<div class="container">
<a class="float-right pb-4 linksstyle" @click="supportUser"><i class="fa fa-heart pr-2"></i>Support Me Now</a>
</div>
</template>
<script>
export default {
props: ['userId'],
mounted() {
console.log('Component mounted.')
},
methods: {
supportUser() {
axios.post('/support/' + this.userId)
.then(response => {
alert(response.data);
});
}
}
}
</script>
и, что не менее важно, это SupportsController:
class SupportsController extends Controller
{
public function store(User $user)
{
return $user->username;
}
}
для моего root:
Route::post('support/{user}', 'SupportsContoller@store');
Я действительно надеюсь, что кто-то может помочь мне на этом этапе, так как я новичок в Laravel, и я создаю свой собственный сайт, используя учебные пособия, но на данный момент я действительно застрял, спасибо заранее.