使用Laravel 4.2和DB Class(我不允许使用Eloquent)
如何使用Laravel 4.2中的DB Class更新时间戳字段?
创建表格
CREATE TABLE posts
(
id INTEGER PRIMARY KEY,
title VARCHAR(255) NOT NULL,
message VARCHAR(50000) NOT NULL,
author VARCHAR(255) NOT NULL,
avatar VARCHAR(255),
created_at DATETIME DEFAULT (DATETIME(CURRENT_TIMESTAMP, 'LOCALTIME')),
updated_at DATETIME DEFAULT (DATETIME(CURRENT_TIMESTAMP, 'LOCALTIME'))
);
更新行
$post = DB::update('UPDATE posts SET title=?,message=?,author=?,updated_at=? WHERE id=?',
array(
Input::get('title'),
Input::get('message'),
Input::get('author'),
CURRENT_TIMESTAMP, <-- Throwing error, what do I put here???
$id
)
);
引发此错误
Use of undefined constant CURRENT_TIMESTAMP - assumed 'CURRENT_TIMESTAMP'
答案 0 :(得分:0)
发现答案。
我需要使用Laravel 4.2附带的Carbon类
在文件顶部,输入:
use Carbon\Carbon;
这是查询
$post = DB::update('UPDATE posts SET title=?,message=?,author=?,updated_at=? WHERE id=?',
array(
Input::get('title'),
Input::get('message'),
Input::get('author'),
\Carbon\Carbon::now(),
$id
)
);