Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 29.09.2017 12:11:29

Бэкенд

знакомлюсь с ларкой5.4, первый фреймворк.
верстку натянул, начал пилить админку и понял, шо не понимаю, шо делать. читал-читал, не понял.

нужна аутентификация и авторизация юзера, но юзеров то ещё нет. где модели и т.п.?
крч, расчехлите максимально подробно, пожалуйста :]

Не в сети

#2 29.09.2017 12:14:45

Re: Бэкенд

php artisan db:seed --class=CreateTestUser
создай файл CreateTestUser (seed-файл) - и сделай в нем создание User::create(['login'=>'test', 'password'=>Hash::make('test')]);
подробнее https://laravel.com/docs/5.4/seeding

Новичкам - http://laracasts.com/ , много бесплатных уроков

Изменено covobo (29.09.2017 12:15:23)

Не в сети

#3 29.09.2017 13:26:04

Re: Бэкенд

Все верно, нужно использовать сиды. Более верный код для стандартной аутентификации:

User::create(['email' => 'admin@admin.com', 'password' => bcrypt('secret')])

Изменено AlexeyMezenin (29.09.2017 13:26:44)

Не в сети

#4 29.09.2017 13:33:18

Re: Бэкенд

> php artisan db:seed --class=CreateTestUser

Ответ:
  [ReflectionException]
  Class CreateTestUser does not exist

Не в сети

#5 29.09.2017 13:35:23

Re: Бэкенд

Ты доку не прочитал. Вот на русском https://laravel.ru/docs/v5/seeding

Тебе нужно сначала создать этот сид класс:

php artisan make:seeder AdminUserSeeder

Потом добавить в него написанный выше код и добавить строку в DatabaseSeeder.php:

$this->call(AdminUserSeeder::class);

А уже потом запускать db:seed

Изменено AlexeyMezenin (29.09.2017 13:37:57)

Не в сети

#6 29.09.2017 13:52:22

Re: Бэкенд

> php artisan db:seed --class=UsersTableSeeder

Ответ:
  [Symfony\Component\Debug\Exception\FatalErrorException]
  Class 'User' not found

странно: iuHsdfY.png

Изменено Anque (29.09.2017 13:53:19)

Не в сети

#7 29.09.2017 13:59:27

Re: Бэкенд

Добавь в сидер:

use App\User;

Или просто используй полное пространство имен:

App\User::create(...);

Изменено AlexeyMezenin (29.09.2017 14:00:43)

Не в сети

#8 03.10.2017 09:34:45

Re: Бэкенд

в настоящий момент у меня такая ситуация в любых вьюхах, кроме admin.main:
zlPyk4Z.png
не совсем понимаю, с чем это связанно? с сидами?
если память не изменяет, то исключения начали сыпаться после этих махинаций с сидами, но User::create.. я уже закомментил.

какой-то лог невнятный совсем :\

Изменено Anque (03.10.2017 09:39:17)

Не в сети

#9 03.10.2017 09:53:38

Re: Бэкенд

хз, попробовал заново поработать с этими вашими сидами.
создал сид-класс:
php artisan make:seeder AdminUserSeeder

добавил в него создание юзера:
use App\User;
...
User::create(['email' => 'admin@admin.com', 'password' => bcrypt('secret')])

в databaseseeder добавил вызов:
$this->call(AdminUserSeeder::class);

сделал в консоли:
AZpK6de.png

Не в сети

#10 03.10.2017 09:59:56

Re: Бэкенд

также не совсем понятно о чём идет речь в  консоли, ибо дефолтным драйвером бд стоит mysql, доступы к которому указаны корректно:
'default' => env('DB_CONNECTION', 'mysql');
...
        'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'pddb'),
            'username' => env('DB_USERNAME', 'root'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],


также мне не ясно, куда происходит инсерт, если у меня в бд нет такой таблицы даже?

Изменено Anque (03.10.2017 10:01:56)

Не в сети

#11 03.10.2017 10:00:59

Re: Бэкенд

Пропиши корректные данные для подключения к БД в .env файле.

Не в сети

#12 03.10.2017 10:03:44

Re: Бэкенд

действительно, помогло)
почему 2 файла с доступами?

и можно ли как-то изменять структуру требуемой таблицы? или же автоматически создавать таблицы в соответствии с требованиями(кстати, где они взялись?)?

Изменено Anque (03.10.2017 10:04:41)

Не в сети

#13 03.10.2017 10:06:15

Re: Бэкенд

.env файл указывает на данные БД на твоей машине, у другого разработчика и на продакшн сервере будут другие данные. Поэтому .env файл не коммитится в Git репозиторий. А config файл уже читает данные из .env файла.

Не в сети

#14 03.10.2017 10:07:36

Re: Бэкенд

Таблицами управляешь через миграции. Прочитай документацию, у тебя десятки вопросов сразу отпадут.

Не в сети

#15 03.10.2017 10:09:00

Re: Бэкенд

я и читаю документацию, но там в не отсортированном виде всё.
рассказывается об аутентификации, не рассказав перед этим о том, что мы сейчас делали.

Не в сети

#16 03.10.2017 11:35:45

Re: Бэкенд

Перед тем, как делать проект, прочитай всю докуменатцию или книгу, в которой шаг за шагом приложение пилят и объясняют все на пальцах. Когда я новую технологию осваиваю, я читаю книгу и документацию попутно. В итоге в разы больше времени экономится и понимание намного более глубокое.

Не в сети

#17 03.10.2017 11:43:45

Re: Бэкенд

согласен, я всегда и придерживаюсь такого подхода - всегда сначала изучаю теоретическую часть в любом вопросе.
но сейчас столкнулся с ситуацией, когда нужно в  кратчайшие сроки сделать минимальный функционал, поэтому терроризирую форум :]
прочёл статью о миграциях, но так и  не увидел, как можно изменять структуру требуемой таблицы User:
AZpK6de.png

Изменено Anque (03.10.2017 11:45:27)

Не в сети

#18 03.10.2017 11:46:32

Re: Бэкенд

Прочитай еще раз, там все есть. Делается это либо правкой существующей миграции и перезапуском миграций, либо добавлением отдельной миграции под это изменение.

Не в сети

#19 03.10.2017 12:53:22

Re: Бэкенд

оказывается, миграция CreateUsersTable уже существует.
файл со странным названием "\database\migrations\2014_10_12_000000_create_users_table.php"
выполнил php artisan migrate , получил ошибки:
qAfgyTE.png
но в базе всё создалось:
sJq7mLZ.png

Не в сети

#20 03.10.2017 12:54:24

Re: Бэкенд

deleted

Изменено Anque (03.10.2017 12:56:21)

Не в сети

#21 03.10.2017 14:16:14

#22 03.10.2017 18:24:28

Re: Бэкенд

на вот тебе еще, вдохновляйся big_smile
https://goo.gl/cgUSck сотка уроков на русском языке. там версия 5.2, но до сих пор (5.5) актуально. различия все указаны в комментах под видео. сам лично проверял до 82 урока, в кратчайшие сроки big_smile
п.с. убежал за попкорном

Изменено sam (03.10.2017 18:25:29)

Не в сети

#23 04.10.2017 12:18:30

Alexsaab
Откуда: Москва
Сообщений: 92

Re: Бэкенд

Да вроде в последних версиях laravel уже миграции с юзерами и правами сделаны. Запускание в командной строке php artisan migrate

Не в сети

#24 04.10.2017 13:40:57

Re: Бэкенд

да, я с этими немного разобрался.
создал сейчас свою миграцию для некоторой таблицы, запустил её на локалке (винда) — отработало.
спуллил все файлы миграций на сервер, настроил там окружение, запускаю php artisan migrate — миграция с юзерами (дефолтная, выходит) отработала, новосозданная потерпела крушение — о ней даже не вспомнили :[

Не в сети

#25 04.10.2017 13:47:01

Re: Бэкенд

3Yn5fg5.png

Изменено Anque (04.10.2017 13:49:11)

Не в сети

Подвал раздела