Я новичок в Laravel, и я хочу объявление на главной странице - PullRequest
0 голосов
/ 17 января 2019

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

Пожалуйста, помогите мне шаг за шагом, если возможно с логикой кода, пожалуйста, сделайте мне большое спасибо

Ответы [ 3 ]

0 голосов
/ 17 января 2019

Попробуйте

1002 *
0 голосов
/ 17 января 2019

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

<form method="post" action="{{ route('announcement') }}">
<label>Enter Your Announcement</label>
<textarea class="form-control" name="text">

</textarea>

<select name="active_status">
    <option value="0">Deactive</option>
    <option value="1">Active</option>
</select>
  </form>

открой свой route/web.php метод поста

Route::post('/announcement', [
'uses'  =>  'AdminController@postAnnouncement',
'as'    =>  announcement
]);

если у вас есть AdminController и все в порядке, если вы не сделали это с этими командами

php artisan make:controller AdminController

теперь вы можете добавить свою функцию для сохранения вашего объявления в базе данных

public function postAnnouncement(Request $request){

    $announcement = new Announcement;
    $announcement->text = $request->text;
    $announcement->active = $request->active_status;
    $announcement->save();

    return back()->with('status', 'Announcement Posted Success');
 }

добавить use App\Announcement; в верхней части вашего контроллера

теперь нужно сделать таблицу объявлений и модель

php artisan make:model Announcement -m

сгенерирует 2 файловых модели и миграцию
перейдите в папку database/migration и добавьте эту строку в миграцию объявлений после

$ table-> приращения ( 'ID');

$table->string('text');
$table->boolean('active');

ваш стол готов к переносу

php artisan migrate

теперь вы можете показывать на своей домашней странице вот так сначала зайдите в свой домашний контроллер и добавьте эти строки

$announcements = App\Announcement::where('active', true)->get();
return view('home', compact('announcements'));

в вашем файле home.blade.php

// Только для аутентифицированных пользователей

@auth
 @foreach($announcements as $announcement)
  <p>{{ $announcement->text }}</p>
 @endforeach
@endauth

// Только для гостей

@guest
 @foreach($announcements as $announcement)
  <p>{{ $announcement->text }}</p>
 @endforeach
@endguest
0 голосов
/ 17 января 2019

Вы можете сделать это просто с помощью встроенной пользовательской модели.

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

@if (Auth::check())
  //show authorized content (Announcements etc.)
@else
  //show unauthorized content
@endif

Или вы можете сделать это в laravel 5.6

@auth
    // The user is authenticated...
@endauth

@guest
    // The user is not authenticated...
@endguest

Также проведите некоторое исследование для этого, в Интернете есть множество примеров.

...