Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
1 шаг, когда вы в контроллере и получаете из реквеста файл - вам нужно запросить его имя ->getClientOriginalName() как пример, и потому уже его создавать с этим именем, можете добавить к имени временную метку, чтобы файлы не заменяли друг друга, вы сами проектируете и программируете своё творение, как хотите так и крутите, чтобы имя такое не было "skmdo3453942294593.pdf" ->
$image=Input::file('image');
$fullName=$image->getClientOriginalName();
2 шагом создавайте его с именем который в $fullName (пример!)
црф токен потом вы делаете для того чтобы кроме вас никто не учудил, если у вас роуты админки защищены и требуют авторизации, то можно и без токена гетом передавать, ничего тут правильного или не правильного нет, это просто удобство, а ещё вы можете фронт подключить и аяксом всю дич удалять, и получать ответ - что всё гуд) тут нету правил, если дыр нету, правильно или нет
Воообще если вы в админке (то есть у вас защищена та страница с которой вы всё удаляете) проще всего гетом убрать
Роут:
Rouget::get('url/admin..../delete/{id}', 'AdminController@deleteid');
Контроллер:
public function deleteid($id){
$delete = Post::find($id);
$delete->delete();
Session::flash('message', 'Запись '.$id.' - успешно удалена!');
return redirect('url/admin..../');
}
Вьювер
@if (Session::has('message'))
<div class="alert alert-info">{{ Session::get('message') }}</div>
@endif
<ul>
@if(isset($posts))
@foreach($posts as $post)
<li>$post->title - <a href="{{url('/url/admin..../delete').'/'.$post->id}}">Удалить</a></li>
@endforeach
@endif
</ul>
пс. написал как пример, естественно нужно всё делать в форме и т.д., но если на эту страницу может зайти только админа например, можно удалять таким методом, п.с. незабудьте сделать какую нить подтверждалку, типо, да конечно - удалить)
В контроллере:
Добавьте
use Illuminate\Support\Facades\Session;
Session::flash('message', 'Ваш отзыв оставлен, Или регистрация успешна!');
return redirect('/');
В вьювере туда куда делается редирект:
@if (Session::has('message'))
<div class="alert alert-info">{{ Session::get('message') }}</div>
@endif
Через фасад идите через сессион флеши и проблем не будет, всё огонь, для ошибок, для успехов, для всего!
А если вы хотите передать в контроллер 2штучки
Route::get('reviews/ford/{idford}/{colorford}', 'NameController@fordgowithcolor');
Контроллер
public function fordgowithcolor($idford, $colorford){
$ford = Ford::where('id', $idford)->where('color', $colorford)->get()->first();
return view('page.ford',[
'ford' => $ford,
]);
}
В роутере:
Route::get('reviews/ford', 'NameController@fordall');
Route::get('reviews/ford/{idford}', 'NameController@fordgo');
В контроллере:
public function fordall(){
$fords= Ford::all()
return view('page.fords',[
'fords' => $fords,
]);
}
public function fordgo($idford){
$ford = Ford::where('id', $idford)->get()->first();
return view('page.ford',[
'ford' => $ford,
]);
}
Есть гет запросы: Route::get('reviews/ford', 'NameController@fordall'); - показать нам все форды (с пагиницией, количество элементов в контроллере - функция для пагинации {{ $fords->links() }} -> то о чем вы писали в ваш роутер нужно писать сюда, какие то может якоря и т.д. может 2 пагинации быть на странице как пример.
Есть гет запрос 2ой: Route::get('reviews/ford/{idford}', 'NameController@fordgo'); - показать нам конкретный форд, тут мы как раз и передаём в динамическую данную например {idford} - ид форда, и вы его передаёте таким методом в контроллер, в котором вы ищите по ид в базе нужный вам форд и послываете на вьювер, в вьювере вы уже себе отображаете как хотите.
Делайте ваше приложение правильно с начала.
Используйте Route::get, Route::post, Route::resource, Пагинация должна быть на стороне клиента, нечего ей делать на стороне сервера! Вы уже передаёте с сервера построенную пагинацию!
Страницы 1