Lumen企業站內容管理實戰 文章列表

2021-10-01 22:49:27 字數 3927 閱讀 1410

文章的新增

我們還沒有建立文章的資料表,那麼我們使用資料遷移生成一張文章資料表,老規矩,命令行走起。

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...