我是 laravel 的新人,我想在主页上发布公告
I am new in laravel and I want to announcement on homepage
实际上我想在主页上显示管理员公告或任何通知,这样当任何用户使用凭据详细信息登录时,他或她就可以看到公告或通知..
请一步一步帮助我,如果可能的话代码逻辑,请为我做非常感谢
您可以借助内置的用户模型轻松完成。
首先,检查用户是否授权,然后,您可以显示公告部分。
所有这些都应该在您的页面视图中完成。你可以这样做
@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
也为此做一些研究,互联网上有很多例子。
试试这个
@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
按照您要求的完整分步流程试试这个
首先在你的管理面板中像这样制作表格
<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
make post 方法
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;
现在您需要发布公告table和模型
php artisan make:model Announcement -m
它将生成 2 个文件模型和迁移
转到 database/migration
文件夹并将此行添加到
之后的公告迁移
$table->increments('id');
$table->string('text');
$table->boolean('active');
您的 table 现在可以迁移了
php artisan migrate
现在你可以在你的主页上这样显示了
首先转到您的家庭控制器并添加这些行
$announcements = App\Announcement::where('active', true)->get();
return view('home', compact('announcements'));
在您的 home.blade.php 文件中
//Only for Authenticated Users
@auth
@foreach($announcements as $announcement)
<p>{{ $announcement->text }}</p>
@endforeach
@endauth
//Only for Guest Users
@guest
@foreach($announcements as $announcement)
<p>{{ $announcement->text }}</p>
@endforeach
@endguest
实际上我想在主页上显示管理员公告或任何通知,这样当任何用户使用凭据详细信息登录时,他或她就可以看到公告或通知..
请一步一步帮助我,如果可能的话代码逻辑,请为我做非常感谢
您可以借助内置的用户模型轻松完成。
首先,检查用户是否授权,然后,您可以显示公告部分。 所有这些都应该在您的页面视图中完成。你可以这样做
@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
也为此做一些研究,互联网上有很多例子。
试试这个
@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
按照您要求的完整分步流程试试这个
首先在你的管理面板中像这样制作表格
<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
make post 方法
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;
现在您需要发布公告table和模型
php artisan make:model Announcement -m
它将生成 2 个文件模型和迁移
转到 database/migration
文件夹并将此行添加到
$table->increments('id');
$table->string('text');
$table->boolean('active');
您的 table 现在可以迁移了
php artisan migrate
现在你可以在你的主页上这样显示了 首先转到您的家庭控制器并添加这些行
$announcements = App\Announcement::where('active', true)->get();
return view('home', compact('announcements'));
在您的 home.blade.php 文件中
//Only for Authenticated Users
@auth
@foreach($announcements as $announcement)
<p>{{ $announcement->text }}</p>
@endforeach
@endauth
//Only for Guest Users
@guest
@foreach($announcements as $announcement)
<p>{{ $announcement->text }}</p>
@endforeach
@endguest