Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Ребят, прям шикарно помогли. Спасибо огромное!
100% не приписан, у меня вообще там формы нет, так сделано:
<a class="btn btn-lg btn-danger" href="{{ route('companies.destroy', $element->id) }}" role="button">Удалить</a>
А есть пример, как правильно делать? Или может где-то обсуждалось?
Ребят, привет. Помогите плиз новичку разобраться, почему не удаляются записи?
В общем код в контролере:
public function destroy($id){
Companies::find($id)->delete();
return redirect()->route('companies.index')->with('success', 'Компания удалена');
}
В web.php роут, записи не удаляются (просто происходит переход на страницу просмотра записи):
Route::resource("/companies", "CompaniesController");
Но если роут на удаление прописать отдельно так, то все удаление происходит:
Route::get('/companies/{id}/delete', 'CompaniesController@destroy')->name('companies.destroy');
В чем прикол? Хотел по-людски, чтобы меньше кода было, но не тут то было... Что я не учел?
---
Остальные функции работают
laravel 5.8.38
php 7.4.2
Привет. Нужно развернуть laravel на сервере, выполнить кое-какую разработку, процесс снять на видео (сделать скринкаст). В процессе записи нужно давать коммментарии общего характера (например: ставим composer, создаем миграцию, контроллер и тд).
Для записи можете использовать любую бесплатную программу или платную в режиме теста (если программа наложит копирайт - не страшно, главное звук и видео). Видео можно и лучше отдельные под каждый пункт из ТЗ.
ТЗ:
1. Развернуть и настроить laravel на моем сервере
2. Создать и настроить функционал для управления доступом. Для этого создать сущности:
- "Пользователи", таблица users (создается при разворачивании, нужно добавить недостающие поля) с полями: Имя (строка, обязат), Фамилия (строка, обязат), Компания (привязка, множ), Группа пользователей (привязка, множ), емейл (строка, обязат), пароль (строка, обязат)
- "Компании", таблица companies с полями: id, Название (строка, обязат), символьный код компании (строка, обязат)
- "Группы пользователей", таблица user_groups в БД с полями: id, Название (строка, обязат). Также здесь должно быть поле для хранения настоек доступа.
Авторизованные пользователи должны попадать в директорию site/cabinet/
При прямом заходе на эту страницу, не авторизованному пользователю должна быть показана форма для авторизации / регистрации.
Далее, пользователю должны быть доступны ссылки на страницы (выводим в любом месте тела страницы):
- site/cabinet/users/ - при переходе, выводим список всех зарегистрированных пользователей с пагинацией по 100 записей и кнопкой "Создать пользователя"
- site/cabinet/user-groups/ - здесь список всех групп пользователей с пагинацией по 100 записей и кнопкой "Создать группу"
- site/cabinet/companies/ - здесь список всех зарегистрированных компаний с пагинацией по 100 записей и кнопкой "Создать компанию".
В списках на этих страницах для каждой записи должны быть кнопки Редактировать и Удалить. При нажатии на кнопку Редактировать, должна открыться страница с возможностью редактировать все поля, кроме id. Там же должна быть кнопка Сохранить.
На странице редактирования группы пользователей должна быть настройка доступа пользователей к разделам сайта. Вариант реализации нужно согласовать, возможно что-то типа как у опенкарта: http://joxi.ru/vAWVGJ3fgLQR42
На дизайн сейчас не особенно обращаем внимание - делайте минимальными усилиями используя bootstrap.
3. Создать примеры функционала. Для этого:
3.1 В директории site/cabinet/ создаем вложенные директории:
- site/cabinet/b/
- site/cabinet/s/
3.2 В БД создаем таблицы:
Таблица "example1" с полями:
- id
- Company (Привязка к записи таблицы companies)
- YesNo - (Да/Нет)
- DateTime - (Дата со временем)
- Date - (Дата без времени)
- Link - (Привязка к записи таблицы example2)
- Link_Multi - (Привязка множественная к записи таблицы example2)
- String - (Строка)
- String_Multi - (Строка множественная)
- Integer - (Число)
- Integer_Multi - (Число множественное)
- Number - (Целое число)
- Number_Multi - (Целое число множественное)
- Text - (Текст без визуального редактора)
- TextVisual - (Текст с визуальным редактором)
и таблица "example2" с полями:
- id
- Company (Привязка к записи таблицы companies)
- String1 - (Строка)
- String2 - (Строка)
- String3 - (Строка)
3.3 В разделе site/cabinet/b/ выводим список Компаний, к которым текущий пользователь имеет привязку. Список должен быть оформлен ссылками.
При нажатии на ссылку, пользователь должен попадать на страницу site/cabinet/b/символьный-код-компании/
Если в url вручную вписать /символьный-код-компании/, которая не существует или существует, но к которой не прилинкован текущий пользователь, нужно отдать страницу 404.
На странице компании, должны быть ссылки на страницы:
- site/cabinet/b/символьный-код-компании/example1/
- site/cabinet/b/символьный-код-компании/settings/
3.4 На странице site/cabinet/b/символьный-код-компании/example1/ выводим список записей из таблицы example1.
- должны быть выведены только те записи, у которых в поле Company указана привязка к компании, на странице которой мы находимся - идентифицируем через /символьный-код-компании/ в url.
- в списке для каждой записи должны быть кнопки "Редактировать" и "Удалить". При нажатии на "Редактировать" должна открыться страница редактирования записи (идентифицируем по ее id), для редактирования должны быть доступны все поя, кроме id.
- над списком должна быть кнопка "Добавить". При ее нажатии должна открыться страница добавления записи; для заполнения выводим все поля, кроме id и Company. При сохранении в Company должен автоматически подставиться id компании, на странице которой мы находимся.
- записи выводим с пагинацией по 50 шт на странице.
3.5 На странице site/cabinet/b/символьный-код-компании/settings/ выводим ссылку на директорию site/cabinet/b/символьный-код-компании/settings/example2/ и уже в ней выводим список записей таблицы example2.
вывод этих записей делаем аналогично выводу записей из пункта 3.4
\\\\\\\\\\\\\\\\\
Внимание!!!!
\\\\\\\\\\\\\\\\\\
1. Если есть вопросы - пишите в личку.
2. Просьба откликаться тем, кто с "на ты" с фреймворком laravel.
3. Если все пройдет ок, будем работать дальше.
Форум то живой?
Привет. Пытаюсь установить Laravel на OpenServer
Для этого в консоли опенсервера перехожу в папку сайта, ввожу команду
composer global require laravel/installer
Получаю:
Warning: This development build of composer is over 60 days old. It is recommended to update it by running "c:\ospanel\modules\php\PHP_7.1-x64\composer.phar self-update" to get the latest version.
Using version ^2.1 for laravel/installer
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Generating autoload files
Сори может за глупый вопрос - но что не так? Я новичек в этом деле, пока много не понятного. В сети информацию не нашул. Возможно не правильно формулировал запрос. В общем, помогите плиз понять в чем дело и как исправить
Страницы 1