文章的新增我們還沒有建立文章的資料表,那麼我們使用資料遷移生成一張文章資料表,老規矩,命令行走起。
php artisan make:migration create_articles_table
新增字段
<?php
use illuminate\database\migrations\migration;
use illuminate\database\schema\blueprint;
use illuminate\support\facades\schema;
class createarticlestable extends migration
); }
/*** reverse the migrations.
** @return void
*/public function down()
}
再執行命令
php artisan migrate
資料庫生成一張表articles表。
我們先新增幾個路由,在**新增路由,我就不說了,還是那個老地方,不知道的可以看前邊的文章。
$router->get('/article/list', 'articlecontroller@lists'); // 文章列表
$router->addroute(['get', 'post'],'/article/add', 'articlecontroller@add'); // 新增文章
$router->post('/article/del', 'articlecontroller@del'); // 刪除文章
$router->post('/article/status/', 'articlecontroller@status'); // 發布狀態
來,建立個文章模型
<?php
use illuminate\database\eloquent\model;
class article extends model
/*** 新增文章
* @param array $data
* @return bool
*/public static function add(array $data)
/*** @param article $article
* @param $data
* @return bool
*/public static function edit(article $article, $data)
public static function lists(array $conditions, int $page = 0, int $parpage = 10)
%"); // 模糊匹配標題查詢
!empty($conditions['is_top']) && $article->where('is_top', (int)$conditions['is_top']);
!empty($conditions['is_recommended']) && $article->where('is_recommended', (int)$conditions['is_recommended']);
!empty($conditions['is_rolling']) && $article->where('is_rolling', (int)$conditions['is_rolling']);
!empty($conditions['is_release']) && $article->where('is_release', (int)$conditions['is_release']);
!empty($conditions['begin_time']) && $article->where('created_at', '>=', date('y-m-d h:i:s', strtotime($conditions['begin_time'])));
!empty($conditions['end_time']) && $article->where('created_at', '
$article->where('is_del', 0);
$article->orderby('id', 'desc');
return $article->paginate($parpage, ['*'], 'page', $page);
}/**
* 發布文章
* @param article $article
* @return bool
*/public static function release(article $article)
/*** 刪除
* @param array $ids
* @return bool
*/public static function del(array $ids)
}
很簡單吧,我覺得沒啥可解釋的了。lists()方法加入了搜尋,可以根據各種條件進行搜尋。
資料表中沒有資料,那麼我們使用資料填充,新增點資料進去。
在/database/factories/目錄下,新建articelfactory.php檔案
<?php
return [
'title' => $faker->titlemale,
'category_id' => rand(3, 4),
'abstract' => $faker->title,
'keyword' => $faker->title,
'content' => $faker->text(rand(10, 100)),
'created_at' => $faker->date('y-m-d h:i:s'),
'updated_at' => $faker->date('y-m-d h:i:s'),
];});
還沒完,在/database/seeds/目錄下新建articletableseeder.php檔案。
<?php
class articletableseeder extends \illuminate\database\seeder
}
執行命令
composer dump-autoload
php artisan db:seed --class=articletableseeder
去articles表中看看,50條資料進來了。
新建文章控制器
}資料驗證我先不做了,後邊有機會我專門寫點更全的驗證規則的使用。
列表好了。檢視**我也發一下吧。這裡邊的東西我還沒有改完。
首頁文章列表
批量刪除
新增
id標題
所屬分類
發布狀態
更新時間
操作
@foreach($article as $value)
}}}}
@endforeach
}
完。 Lumen企業站內容管理實戰 許可權管理
許可權管理 話不多說,先上路由 許可權 router get permission list permissioncontroller lists 許可權列表 router addroute get post permission add permissioncontroller add 新增許可權...
Lumen企業站內容管理實戰 文章新增
文章新增 在article控制中新增乙個新增方法add 新增文章 分類資訊,用於選擇分類,因為在新增頁面有乙個選擇分類。category category getcategorychildrenidsbyparentid 0 data category category return view ad...
Lumen企業站內容管理實戰 文章更新
文章更新 在文章控制器中新增edit 方法 修改文章 分類資訊,用於選擇分類,因為在新增頁面有乙個選擇分類。category category getcategorychildrenidsbyparentid 0 data category category data article article...