未定义路由 [状态.删除]



我正在尝试在我的项目中添加删除功能,用户可以在其中删除其状态,但出现以下错误:

错误截图

这是我的HomeCotroller课程:

namespace AppHttpControllers;
use AppEloquentStatus;
use AppFriends;
use IlluminateSupportFacadesAuth;
use IlluminateSupportFacadesValidator;
use LaracastsFlashFlash;
//use Request;
use IlluminateHttpRequest;
use IlluminateSupportFacadesInput;
use IlluminateSupportFacadesDB;

class HomeController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}
/**
* Show the application dashboard.
*
* @return IlluminateHttpResponse
*/
public function index(Request $request)
{
if (Input::has('like_status')) {
$status = Input::get('like_status');
$selectedStatus = Status::find($status);
$selectedStatus->likes()->create([
'user_id' => Auth::user()->id,
'status_id' => $status
]);
return redirect(route('home'));
}
if (Input::has('post_comment')) {
$status = Input::get('post_comment');
$commentBox = Input::get('comment-text');
$selectedStatus = Status::find($status);
$selectedStatus->comments()->create([
'comment_text' => $commentBox,
'user_id' => Auth::user()->id,
'status_id' => $status
]);
Flash::message('Your comment has been posted');
return redirect(route('home'));
}
if (Input::has('status-text')) {
$text = e(Input::get('status-text'));
$rules = [
'status-text' => 'required|string',

];
$vaildator = Validator::make($request->all(), $rules);
if (Input::hasFile('status_image_upload')) {
$file = Input::file('status_image_upload');
$mime = $file->getMimeType();
$image = $request->file('status_image_upload');
$imageName = str_random(8) . '_' . $image->getClientOriginalName();
//$imageFull = str_random(8).'_'.$image->getClientOriginalExtension();
$userStatus = new Status();
$userStatus->status_text = $text;
$userStatus->image_url = $imageName;
$userStatus->type = 1;
$userStatus->user_id = Auth::user()->id;

if ($mime == "video/x-flv" || $mime == "video/mp4" || $mime == "application/x-mpegURL" || $mime == "video/MP2T" || $mime == "video/3gpp" || $mime == "video/quicktime" || $mime == "video/x-msvideo" || $mime == "video/x-ms-wmv") {//process upload}
$vaildator = Validator::make($request->all(), $rules);
if (!$vaildator->fails()) {
$image->move('status_videos', $imageName);
$userStatus->type = 2;
$userStatus->save();
Flash::success('Your status has been posted');
return redirect(route('home'));
} else {
return back()->with('error', 'Validation failed:' . $vaildator->errors);
}
} else {
$rules['status_image_upload'] = 'image';
$vaildator = Validator::make($request->all(), $rules);
if (!$vaildator->fails()) {
$image->move('status_images', $imageName);
$userStatus->type = 1;
$userStatus->save();
Flash::success('Your status has been posted');
return redirect(route('home'));
} else {
return back()->with('error', 'Validation failed:' . $vaildator->errors);
}
}

} else {
}
if (!$vaildator->fails()) {
$userStatus = new Status();
$userStatus->status_text = $text;
$userStatus->user_id = Auth::user()->id;
$userStatus->save();
Flash::success('Your status has been posted');
return redirect(route('home'));
} else {
return back()->with('error', 'Validation failed:' . $vaildator->errors);
}

}

//Get top 15 post
$user_id = Auth::id();
$all_friends = Friends::where(['friend_id' => $user_id, 'status' => 1])
->orWhere(['user_id' => $user_id, 'status' => 1])
->get();
$friends = [];
foreach ($all_friends as $val) {
array_push($friends, $val->user_id, $val->friend_id);
}
$unique_friends = array_unique($friends);
if (!empty($unique_friends)) {
$top_15_posts = Status::whereIn('user_id', $unique_friends)
->orderBy('id', 'DESC')
->take(15)
->get();
} else {
$top_15_posts = Status::where('user_id', $user_id)
->orderBy('id', 'DESC')
->take(15)
->get();
}
//Get available friend request
$user_id = Auth::id();
$available_req_count = Friends::where(['friend_id' => $user_id, 'status' => 0])
->orderBy('id', 'desc')
->get()
->count();
return view('home', [
'top_15_posts' => $top_15_posts,
'available_req_count' => $available_req_count
]);

}
public function destroy($status_id)
{
$status =Status::where('id',$status_id)->first();
$status->delete();
return redirect()->route('home')->with(['message' => 'Successfully deleted!']);
}
}

这是用户状态布局.blade

<div class="panel panel-default">
<div class="panel-heading">{{$user->name}} - {{$status->created_at->diffForHumans()}} </div>
<div class="panel-body">
<div class="row">
<div class="col-md-1">
<img src="{{$user->getAvatar()}}" class="img-responsive">
</div>
<div class="col-md-11">
<p>{{$status->status_text}}</p>
@if($status->type == 1)
<img src="{{asset('status_images/'.$status->image_url)}}" class="img-responsive" style="width: 100%;">
@endif
</div>
<div class="col-md-12">
<hr>
<ul class="list-unstyled list-inline">
<li>
<button class="btn btn-xs btn-info" type="button" data-toggle="collapse" data-target="#view-comments-{{$status->id}}" aria-expanded="false" aria-controls="view-comments-{{$status->id}}">
<i class="fa fa-comments-o"></i>View & Comment</button>
</li>
<li>
@if(AppEloquentStatusLikes::where(['status_id'=>$status->id,'user_id'=>Auth::user()->id])->first())
@else
{!! Form::open() !!}
{!! Form::hidden('like_status',$status->id)!!}
<button type="submit" class="btn btn-info btn-xs">
<i class="fa fa-thumbs-up"></i>Like status
</button>

{!! Form::close ()!!}

</li>
<button type="submit" class="btn btn-danger">
<a href="{{ route('status.delete',['status_id'=>$status->id]) }}">Delete</a>
</button>
@endif

<li>
{{$comment_count}} comments

</li>
<li>
{{$like_count}} likes
</li>
</ul>
</div>
</div>
<div class="panel-footer clearfix">

{!! Form::open() !!}
{!! Form::hidden('post_comment',$status->id) !!}
<div class="form-group">
<div class="input-group">
<input type="text" class="form-control" name="comment-text" id="comment-text" placeholder="Post a comment...">
<span class="input-group-btn">
<button class="btn btn-default" type="submit"><i class="fa fa-send"></i>Add</button>
</span>
</div>
</div>
{!! Form::close() !!}

<div class="collapse" id="view-comments-{{$status->id}}">
@if($comments->first())
@foreach($comments as $comment)

<div class="row">
<div class="col-md-1">
<img src="{{AppEloquentUser::find($comment->user_id)->getAvatar()}}" class="img-responsive">
</div>

<div class="col-md-11">
<ul class="list-inline list-unstyled">
<li>
<a href="">{{AppEloquentUser::find($comment->user_id)->name}}</a>
</li>
<li>
posted {{$comment->created_at->diffForHumans()}}
</li>
</ul>

<p> {{$comment->comment_text}}</p>
</div>
</div>
<hr>
@endforeach
@else
<p>This status contains no comments.</p>
@endif
</div>
</div>
</div>
</div>

网络.php:

<?php
//use IlluminateHttpRequest;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
Route::get('/test', function () {
return Auth::user()->test();
});
Auth::routes();

Route::any('/home', 'HomeController@index')->name('home');
Route::group(['as' => 'user.'], function () {

Route::get('/front', function () {
return view('front');
});
Route::get('/settings', ['as' => 'settings', 'uses' => 'ProfileController@viewSettings']);
Route::post('/settings', ['as' => 'settings', 'uses' => 'ProfileController@saveSettings']);
Route::any('/profile/{userId}', ['as' => 'profile', 'uses' => 'ProfileController@viewProfile']);
Route::get('/search/{query?}', ['as' => 'search', 'uses' => 'SearchController@search']);
Route::get('users', function () {
return User::find(1)->toJson();
});
Route::get('/chat', function () {
return view('chat');
});
Route::get('/calendar', function () {
return view('calendar');
});
Route::resource('events', 'EventsController', ['only' => ['index', 'store', 'update', 'destroy']]);
//Friends route
Route::post('/friends/request', ['as' => 'friends', 'uses' => 'FriendsController@sendRequest']);
Route::get('/friends/viewReq', ['as' => 'friends', 'uses' => 'FriendsController@viewFriendReq']);
Route::post('/friends/reqAction', ['as' => 'friends', 'uses' => 'FriendsController@requestAction']);

//    Route::get('/status-delete/{status_id}',['uses' => 'HomeController@getDeleteStatus', 'as'=> 'user.status.delete',
//        'middleware' =>'auth'
//    ]);
});

这也是我从php工匠路线:列表

路线截图

如果您查看路由列表中的名称列,您将看到它被命名为user.status.delete而不是status.delete。 这必须意味着您的路由组必须设置'as' => 'user.'该组将使用该组中的所有路由前缀user.

最新更新