Я использую функцию мягкого удаления в laravel, все нормально, когда я загружаю все данные методом Post::withTrashed()->get()
.Но когда я хочу получить подробную информацию о данных, используя этот запрос Post::withTrashed()->find($post)->get()
, он перебрасывает меня на страницу 404.Пожалуйста, помогите.
Я тоже пробовал Post::onlyTrashed()->find($post)->get()
, но все так же.
Я проверил файл маршрутов, напрямую отобразив в нем строку Hello world, и работает нормально.
ОБНОВЛЕНИЕ
Сценарий контроллера.
public function fetchDeletedPosts()
{
return Post::onlyTrashed()->paginate(10);
}
/**
* Show the form for editing the specified resource.
*
* @param \App\Post $post
* @return \Illuminate\Http\Response
*/
public function edit(Post $post)
{
$posts = Post::withTrashed()->find($post)->first();
return view('post.edit', compact('posts'));
}
Сценарий web.php
Route::get('posts/deleted', 'PostController@fetchDeletedPosts')->name('posts.removed');
Route::get('posts/deleted/{post}/edit', 'PostController@edit');
Сценарий Post.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Post extends Model
{
use SoftDeletes;
/**
* The attributes that should be mutated to dates.
*
* @var array
*/
protected $dates = ['deleted_at'];
protected $fillable = [
'category_id', 'status', 'slug', 'title', 'content-preview', 'content'
];
public function getRouteKeyName() {
return 'slug';
}
public function author() {
return $this->belongsTo(User::class, 'user_id', 'id');
}
public function tags() {
return $this->belongsToMany(Tag::class);
}
}