Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
https://mb4.ru/frameworks/laravel/artic … k-css.html
Нашел такую статью.
Ответы на многие вопросы нашел.
Зачем нужна функция mix() в Laravel 8?
Есть нормальная статья в интернете: зачем в Laravel 8 перенесли app.css из папки public в resourses?
И как подключать свои стили?
Делал так. то же самое.
Добрый день!
Перевожу свой проект Laravel с 7 на 8.
У меня в проекте на 7 были стили. Это файл public/css/app.css.
В новом проекте на Laravel 8 этого файла нет в структуре папок.
Зато есть resources/css/app.css. Сюда я и скопировал свои стили.
На 7-ке я подключал файл стилей:
<link href="{{ asset('css/app.css') }}" rel="stylesheet">
На 8-ке установил Laravel Mix и подключаю:
<link href="{{ mix('css/app.css') }}" rel="stylesheet">
В рез-те таблица стилей не подключена.
Предпросмотр таблицы показывает:
<link href="/css/app.css" rel="stylesheet">
Содержимое файла webpack.mix.js:
mix.js('resources/js/app.js', 'public/js')
.sass('resources/sass/app.scss', 'public/css')
.sourceMaps();
Файлы которые были сгенерированы в public/css удалил (там было не то, что нужно) , заново не генерируются.
Как подключить стили при переходе на Laravel 8?
Нашел решение:
Я добавлял токен, только брал его из таблицы personal_access_tokens,
а надо было тот который возвращает роут /login.
На видео в конце показано как добавлять токен при роуте:
https://www.youtube.com/watch?v=PcZmv1AOfFo
Это нормально два Middleware: api и App\Http\Middleware\Authenticate:sanctum?
+--------+-----------+--------------------------------------------------------+--------------------+------------------------------------------------------------+------------------------------------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+-----------+--------------------------------------------------------+--------------------+------------------------------------------------------------+------------------------------------------+
| | GET|HEAD | / | | Closure | web |
| | GET|HEAD | api/test | | App\Http\Controllers\IndexController@test | api |
| | POST | api/v1/auth/login | login | App\Http\Controllers\Auth\LoginController@login | api |
| | POST | api/v1/auth/register | | App\Http\Controllers\Auth\RegisterController@register | api |
| | POST | api/v1/cabinet/logout | logout.api | App\Http\Controllers\CabinetController@logout | api |
| | | | | | App\Http\Middleware\Authenticate:sanctum |
| | GET|HEAD | api/v1/cabinet/user | | App\Http\Controllers\CabinetController@userdata | api |
| | | | | | App\Http\Middleware\Authenticate:sanctum |
Пробовал php artisan route:list и php artisan route:clear разные варианты - рез-т тот же.
Всем привет!
Laravel 8 с установленным Laravel Sanctum, PHP 7.3
У меня в проекте выходит
Ошибка "The GET method is not supported for this route" при использовании Laravel Sanctum.
Api.php:
Route::middleware('auth:sanctum')->get('/v1/cabinet/user', [CabinetController::class, 'userdata']);
CabinetController:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class CabinetController extends Controller
{
public function userdata(Request $request)
{
return $request->user();
}
public function logout()
{
if (Auth()->check()) {
Auth::user()->token()->delete();
return response([
'message' => 'Пользователь разлогинен',
], 200);
}
}
}
Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException: The GET method is not supported for this route. Supported methods: POST. in file C:\Users\HP\Desktop\RS\OSPanel\domains\rick_and_morty_backend\vendor\laravel\framework\src\Illuminate\Routing\AbstractRouteCollection.php on line 117
#0 C:\Users\HP\Desktop\RS\OSPanel\domains\rick_and_morty_backend\vendor\laravel\framework\src\Illuminate\Routing\AbstractRouteCollection.php(103): Illuminate\Routing\AbstractRouteCollection->methodNotAllowed(Array, 'GET')
#1 C:\Users\HP\Desktop\RS\OSPanel\domains\rick_and_morty_backend\vendor\laravel\framework\src\Illuminate\Routing\AbstractRouteCollection.php(40): Illuminate\Routing\AbstractRouteCollection->getRouteForMethods(Object(Illuminate\Http\Request), Array)
#2 C:\Users\HP\Desktop\RS\OSPanel\domains\rick_and_morty_backend\vendor\laravel\framework\src\Illuminate\Routing\CompiledRouteCollection.php(144): Illuminate\Routing\AbstractRouteCollection->handleMatchedRoute(Object(Illuminate\Http\Request), NULL)
#3 C:\Users\HP\Desktop\RS\OSPanel\domains\rick_and_morty_backend\vendor\laravel\framework\src\Illuminate\Routing\Router.php(647): Illuminate\Routing\CompiledRouteCollection->match(Object(Illuminate\Http\Request))
#4 C:\Users\HP\Desktop\RS\OSPanel\domains\rick_and_morty_backend\vendor\laravel\framework\src\Illuminate\Routing\Router.php(636): Illuminate\Routing\Router->findRoute(Object(Illuminate\Http\Request))
#5 C:\Users\HP\Desktop\RS\OSPanel\domains\rick_and_morty_backend\vendor\laravel\framework\src\Illuminate\Routing\Router.php(625): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#6 C:\Users\HP\Desktop\RS\OSPanel\domains\rick_and_morty_backend\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(166): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#7 C:\Users\HP\Desktop\RS\OSPanel\domains\rick_and_morty_backend\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(128): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request))
#8 C:\Users\HP\Desktop\RS\OSPanel\domains\rick_and_morty_backend\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#9 C:\Users\HP\Desktop\RS\OSPanel\domains\rick_and_morty_backend\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull.php(31): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#10 C:\Users\HP\Desktop\RS\OSPanel\domains\rick_and_morty_backend\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull->handle(Object(Illuminate\Http\Request), Object(Closure))
#11 C:\Users\HP\Desktop\RS\OSPanel\domains\rick_and_morty_backend\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#12 C:\Users\HP\Desktop\RS\OSPanel\domains\rick_and_morty_backend\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\TrimStrings.php(40): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#13 C:\Users\HP\Desktop\RS\OSPanel\domains\rick_and_morty_backend\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Foundation\Http\Middleware\TrimStrings->handle(Object(Illuminate\Http\Request), Object(Closure))
#14 C:\Users\HP\Desktop\RS\OSPanel\domains\rick_and_morty_backend\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\ValidatePostSize.php(27): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#15 C:\Users\HP\Desktop\RS\OSPanel\domains\rick_and_morty_backend\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle(Object(Illuminate\Http\Request), Object(Closure))
#16 C:\Users\HP\Desktop\RS\OSPanel\domains\rick_and_morty_backend\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance.php(86): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#17 C:\Users\HP\Desktop\RS\OSPanel\domains\rick_and_morty_backend\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance->handle(Object(Illuminate\Http\Request), Object(Closure))
#18 C:\Users\HP\Desktop\RS\OSPanel\domains\rick_and_morty_backend\vendor\fruitcake\laravel-cors\src\HandleCors.php(52): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#19 C:\Users\HP\Desktop\RS\OSPanel\domains\rick_and_morty_backend\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Fruitcake\Cors\HandleCors->handle(Object(Illuminate\Http\Request), Object(Closure))
#20 C:\Users\HP\Desktop\RS\OSPanel\domains\rick_and_morty_backend\vendor\laravel\framework\src\Illuminate\Http\Middleware\TrustProxies.php(39): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#21 C:\Users\HP\Desktop\RS\OSPanel\domains\rick_and_morty_backend\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Http\Middleware\TrustProxies->handle(Object(Illuminate\Http\Request), Object(Closure))
#22 C:\Users\HP\Desktop\RS\OSPanel\domains\rick_and_morty_backend\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(103): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#23 C:\Users\HP\Desktop\RS\OSPanel\domains\rick_and_morty_backend\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(141): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#24 C:\Users\HP\Desktop\RS\OSPanel\domains\rick_and_morty_backend\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(110): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#25 C:\Users\HP\Desktop\RS\OSPanel\domains\rick_and_morty_backend\public\index.php(52): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#26 {main}
Как исправить?
Как она должна правильно выглядеть?
Вопрос решен:
Route :: resource( '/v1/characters', CharacterController :: class );
Здравствуйте!
У меня такая проблема - не найден CharacterController
Illuminate\Contracts\Container\BindingResolutionException: Target class [CharacterController] does not exist. in file C:\Users\HP\Desktop\RS\OSPanel\domains\rick_and_morty_backen d\vendor\laravel\framework\src\Illuminate\Container\Containe r.php on line 875
Текст контроллера:
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades;
use Illuminate\Support\Facades\App;
use Illuminate\Http\Request;
use App\Models\Character;
class CharacterController extends Controller
{
function characters()
{
$characters = Character::orderBy('name')->get();
return response()->json($characters);
}
}
Ошибка возникает в api.php:
<?php
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\CharacterController;
/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| is assigned the "api" middleware group. Enjoy building your API!
|
*/
Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});
//Route::resource('/v1/characters', '\App\Http\Controllers\CharacterController');
Route::resource('/v1/characters', 'CharacterController');
Если здесь
//Route::resource('/v1/characters', '\App\Http\Controllers\CharacterController');
убрать комментарий - сообщения, что класс контроллера не найден, нет.
Добрый день!
Не могу в интернете найти решение:
Есть коллекция:
Она заполняется в функции у меня
$links = Item::where()... с моими фильтрами
$links = Link::where()... с моими фильтрами
$collection = collect();
$str = "";
foreach ($items as $item) {
$str = "";
foreach ($links as $link) {
$item_find = GlobalController::view_info($item->id, $link->id);
$str = $str . trim($item_find['name']);
}
}
// В $collection сохраняется в key - $item->id
$collection[$item->id] = $str;
}
// Сортировка коллекции по значению
$collection = $collection->sort();
примерно так заполняется(для примера):
$collection = ['Fff', 'Aaa', 'Bbb', 'Zzz', 'Ggg'];
В качестве ключей коллекции - коды $item->id
Потом сортируется по наименованию:
$collection = $collection->sort();
$collection = ['Aaa', 'Bbb', 'Fff', 'Ggg', 'Zzz'];
И мне нужно получить список всех Items с такими кодами и в такой же последовательности как в коллекции.
(Сортировать типа в Item::all()->orderBy - этот вариант мне не подходит, результат есть в коллекции)
Вот команда:
$results = Item::whereIn('id',$collection->keys())->get();
Она работает, но мне нужно список Items в той последовательности что в коллекции $collection,
т.е. в алфавитном порядке,
а она возвращает в том порядке, в котором сохранены в таблице базы данных.
Как это сделать? Список Items в той последовательности что в коллекции $collection?
Страницы 1