Laravel по-русски

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

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

#1 Laravel 6/7/8/9/10 » Пропадает меню в админке » 05.02.2021 12:17:59

Aliaksandr
Ответов: 0

Всем привет!
Столкнулся с такой проблемой.
После команды composer dump-autoload -o в терминале пропадает меню в административной части.
Доступ к меню осуществляется через AuthServiceProvider.php следующим образом:

        Gate::define('user_access', function ($user) {
            return in_array($user->role_id, [1]);
        });
        Gate::define('user_create', function ($user) {
            return in_array($user->role_id, [1]);
        });
        Gate::define('user_edit', function ($user) {
            return in_array($user->role_id, [1]);
        });
        Gate::define('user_view', function ($user) {
            return in_array($user->role_id, [1]);
        });
        Gate::define('user_delete', function ($user) {
            return in_array($user->role_id, [1]);
        });

Может ли кто-нибудь подсказать, что делать?
Такая же проблема и при установке пакетов через composer.
И в итоге не могу установить дополнительные пакеты.
Спасибо.

#2 Laravel 5.x » Архив новостей » 02.10.2020 16:17:11

Aliaksandr
Ответов: 0

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

Этот способ выводит в каждом году все месяца:

Сервис провадер:

$view->with('monthArchive', Post::archivesMonth());

Модель, метод:

public static function archivesMonthYear()
    {
      return static::selectRaw('year(date) year, month(date) as month, monthname(date) as monthRU, count(*) as number')
        ->groupBy('year', 'month', 'monthRU')
        ->get();
    }

Вид:

<div class="accordion" id="accordionExample275">
                @foreach ($yearArchive as $key => $item)
                    <div class="card z-depth-0 bordered">
                        <div class="card-header d-flex justify-content-between align-items-center" id="heading{{$key}}">
                            <button class="btn btn-link" type="button" data-toggle="collapse"
                                    data-target="#collapse{{$key}}"
                                    aria-expanded="true" aria-controls="collapse{{$key}}">
                                {{$item->year}}
                            </button>
                            <span class="badge teal badge-pill font-small">{{$item->number}}</span>
                        </div>
                        <div id="collapse{{$key}}" class="collapse" aria-labelledby="heading{{$key}}"
                             data-parent="#accordionExample275">
                            <div class="card-body">
                                <ul class="list-group my-4">
                                        @forelse ($monthYearArchive as $item)
                                            <li class="list-group-item d-flex justify-content-between align-items-center">
                                                <a href="/archive_month_year/{{$item->month}}/{{$item->year}}"
                                                   class="elegant-darker-hover">
                                                    <span class="mb-0">{{$item->monthRU}}</span>
                                                </a>
                                                <span class="badge teal badge-pill font-small">{{$item->number}}</span>
                                            </li>
                                        @empty
                                            <li>Здесь пока ничего нет.</li>
                                        @endforelse
                                </ul>
                            </div>
                        </div>
                    </div>
                @endforeach
            </div>

#3 Laravel 5.x » Ошибка отправки почты » 02.12.2019 11:10:04

Aliaksandr
Ответов: 1

Всем привет!
Столкнулся с такой проблемой.
При отправки почты выдает ошибку "Trying to get property 'email' of non-object"
Не могу разобраться. Раньше без проблем отправлялась почта, а сейчас такая ошибка.

Контроллер

class LetterController extends Controller
  {
    public function letter(Request $request)
    {
      if ($request->isMethod('post')) {
        $messages = [
          'required' => 'Поле :attribute обязательно к заполнению',
          'email' => 'Поле :attribute должно быть email адресом',
          'captcha' => 'Поле :attribute введено не верно',
        ];

        $this->validate($request, [
          'email' => 'required|email',
          'name' => 'required|max:255',
          'text' => 'required|max:1000',
          'captcha' => 'required|captcha',
        ], $messages);

        $data = $request->all();

        Mail::send(new LetterMail($data));

        return redirect()->back()->with('status', 'Ваше сообщение отправлено!');
      }
    }
  }

Контроллер LetterMail

class LetterMail extends Mailable
{
    use Queueable, SerializesModels;

    public $data;

    public function __construct($data)
    {
        $this->data = $data;
    }

    
    public function build()
    {
        return $this->markdown('emails.feedback')
            ->from($this->data['email'], $this->data['name'])
            ->to(env('MAIL_ADMIN'))
            ->cc(env('MAIL_USER_1'))
            ->bcc(env('MAIL_USER_2'))
            ->subject('Сообщение от пользователя');
    }
}

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