Laravel по-русски

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

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

#1 Re: Laravel 5.x » Не срабатывает destroy » 14.07.2020 19:26:50

Ребят, прям шикарно помогли. Спасибо огромное!

#2 Re: Laravel 5.x » Не срабатывает destroy » 14.07.2020 18:00:05

100% не приписан,  у меня вообще там формы нет, так сделано:

<a class="btn btn-lg btn-danger" href="{{ route('companies.destroy', $element->id) }}" role="button">Удалить</a>

А есть пример, как правильно делать? Или может где-то обсуждалось?

#3 Laravel 5.x » Не срабатывает destroy » 14.07.2020 00:03:18

Andry100500
Ответов: 5

Ребят, привет. Помогите плиз новичку разобраться, почему не удаляются записи?
В общем код в контролере:

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

#4 Вакансии » Ищу исполнителя » 07.07.2020 12:22:34

Andry100500
Ответов: 0

Привет. Нужно развернуть 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. Если все пройдет ок, будем работать дальше.

#6 Общий раздел » Ребят, помогите с устанокой Laravel на OpenServer » 02.09.2019 20:26:26

Andry100500
Ответов: 4

Привет. Пытаюсь установить 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

Сори может за глупый вопрос - но что не так? Я новичек в этом деле, пока много не понятного. В сети информацию не нашул. Возможно не правильно формулировал запрос. В общем, помогите плиз понять в чем дело и как исправить roll

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