我是laravel的新手,我想在首页上宣布

时间:2019-01-17 12:42:13

标签: laravel laravel-5 laravel-5.2 laravel-5.1

实际上,我想在主页上显示管理员公告或任何通知,以便任何用户登录时都具有凭据详细信息,以便他或她可以看到公告或通知。

请逐步帮助我,如果可能的话,请提供我的代码逻辑,谢谢。

3 个答案:

答案 0 :(得分:0)

您可以简单地借助内置用户模型来做到这一点。

首先,检查用户是否获得授权,然后可以显示公告部分。 所有这些都应在页面视图中完成。你可以做这样的事情

@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

为此也做一些研究,互联网上有很多例子。

答案 1 :(得分:0)

尝试一下

@auth
// For Logged in users only
<h1> You Are Loged In</h1>

@endauth

@guest
// For Guest Users
   <h1> You  Are Guest </h1>

@endguest

@auth
//if user logged in
   <h1> You Are Loged In</h1>

@else
else guest
   <h1> You  Are Guest </h1>

@endauth

答案 2 :(得分:0)

根据您的要求逐步进行完整操作,请尝试以下操作
首先在您的管理控制台中创建表单

<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-> increments('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