public function getNews($slug = false) {
if ($slug === false) {
return $this-findAll();
}
return $this-where(['slug' = $slug])-first();
}
}
4、控制器 app/Controllers/News.php
php
<?php namespace App\Controllers;
use App\Models\NewsModel;
class News extends BaseController {
public function index() {
$model = new NewsModel();
$data['news'] = $model-getNews();
return view('news/index', $data);
}
public function view($slug = null) {
$model = new NewsModel();
$data['news'] = $model-getNews($slug);
if (empty($data['news'])) {
throw new \CodeIgniter\Exceptions\PageNotFoundException('Cannot find news: ' 、$slug);
}
return view('news/view', $data);
}
public function create() {
return view('news/create');
}
public function store() {
$model = new NewsModel();
$slug = url_title($this-request-getPost('title'), '-', true);
$model-save([
'title' = $this-request-getPost('title'),
'slug' = $slug,
'body' = $this-request-getPost('body'),
]);
return redirect()-to('/news/' 、$slug);
}
}