【问题标题】:I am new in laravel and I want to announcement on homepage我是 laravel 的新手,我想在主页上宣布
【发布时间】:2019-06-11 16:04:54
【问题描述】:

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

请帮助我一步一步,如果可以的话,请为我做代码逻辑,非常感谢你

【问题讨论】:

  • 您应该阅读分步教程,网上有很多。
  • 请为我做...

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


【解决方案1】:

按照您要求的完整分步过程尝试此
首先像这样在管理面板中制作表单

<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

【讨论】:

  • 非常感谢..这太棒了,我真的很感激你。
【解决方案2】:

您可以在内置用户模型的帮助下轻松完成。

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

@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

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

【讨论】:

  • 谢谢,因为我是新手,所以我不知道我必须将所有代码放在模型中的哪里,对于通知框,如何做代码以便管理员公告将出现在通知框中对于所有用户.. 谢谢。
【解决方案3】:

试试这个

@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

【讨论】:

  • 谢谢你,我是新手,我不知道我必须把所有代码放在哪里,以便用户可以查看所有管理员公告的通知。所以请帮助步骤
猜你喜欢
  • 2020-06-18
  • 2018-07-23
  • 2019-12-27
  • 2019-11-09
  • 2022-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多