ThinkPHP 5.1은 빠른 웹 개발의 요구를 충족시키는 데 전념하는 강력한 PHP 개발 프레임 워크입니다. 디자인 철학은 코드 재사용, 빠른 개발 및 시스템 확장성에 중점을 두어 개발자에게 유연하고 효율적인 개발 경험을 제공합니다.
ThinkPhp 5.1에서는이 모델을 사용하여 데이터베이스 테이블을 쉽게 추가, 삭제, 수정 및 확인할 수 있습니다. 이 기사는 예제를 사용하여 모델의`update_time '필드를 자동으로 업데이트하여 데이터 테이블 업데이트 작업을 단순화하는 방법을 보여줍니다.
먼저`id`,`title`,`content '및`update_time'필드가있는 데이터베이스에 기사 테이블을 만들어야합니다. 다음은 데이터 테이블을 만드는 SQL 문입니다.
CREATE TABLE `article` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`title` varchar(255) DEFAULT '' COMMENT '제목',
`content` text COMMENT '콘텐츠',
`update_time` int(11) DEFAULT '0' COMMENT '업데이트 시간',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='기사 목록';
다음으로 응용 프로그램 디렉토리에서`article.php`라는 모델 파일을 만듭니다. 코드는 다음과 같습니다.
namespace app\common\model;
use think\Model;
class Article extends Model
{
// 자동 쓰기 타임 스탬프를 설정하십시오
protected $autoWriteTimestamp = true;
}
위의 코드는`article '모델의 정의를 구현하고 Timestamps를 자동으로 작성하는 기능을 설정하여 모델이'update_time '필드를 자동으로 업데이트 할 수 있도록합니다.
그런 다음 기사의 비즈니스 논리를 처리하는 데 사용되는 컨트롤러`articlecontroller.php`를 만듭니다. 다음은 컨트롤러의 코드입니다.
namespace app\index\controller;
use app\common\model\Article;
use think\Controller;
class ArticleController extends Controller
{
// 기사 세부 사항을보십시오
public function detail($id)
{
$article = Article::get($id);
if (!$article) {
return $this->error('기사는 존재하지 않습니다');
}
// 업데이트 방문
$article->setInc('views', 1);
// 输出文章콘텐츠
return view('detail', ['article' => $article]);
}
}
이 코드에서는 먼저 들어오는 기사 ID를 기반으로 해당 기사 레코드를 얻고 방문을 업데이트합니다. 그런 다음, 획득 된 기사 데이터는 렌더링을 위해 뷰 템플릿으로 전달됩니다.
이 기사를 통해 ThinkPhp 5.1에서 모델을 사용하여`update_time '필드를 자동으로 업데이트하는 방법을 배웠습니다. 자동 쓰기 타임 스탬프를 설정하면 데이터베이스 테이블의 업데이트 타임 스탬프가 자동으로 업데이트되므로 개발 프로세스가 크게 단순화됩니다. ThinkPhp 5.1에서 제공하는 모델 기능은 데이터베이스 작업을보다 유연하고 간단하게 만들어 개발자가 개발 효율성을 향상시킬 수 있도록 도와줍니다.