我是Laravel的新手,并努力确定如何使用时间戳提供的created_at字段选择2015年创建的所有记录。
我使用的模型是Blog:
$posts = Blog::latest()->get();
数据库中的日期示例:
2015-01-25 12:53:27
有人可以解释一下吗?
谢谢!
答案 0 :(得分:3)
你可以这样做:
$posts = Blog::where( DB::raw('YEAR(created_at)'), '=', '2015' )->get();
在这里,您可以使用YEAR函数从created_at字段获取年份,然后与您的日期进行比较。
答案 1 :(得分:2)
仅仅是为了完成。有一种Laravel方法。
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if eventIndex.indices.contains(indexPath.row) == true {
let text = event[indexPath.row]
if let indexOfCellString = event.index(of: text) {
print("Found index: \(indexOfCellString)")
} else {
print("text not found")
}
}
}
请参阅where clause,Blog::whereYear('created_at', 2017)->get();
小节
答案 2 :(得分:1)
您可以在模型中使用范围功能。 例如:
你的模特
func someFunc(){
//some stuff...
let listINeed = [someObject]
let alert = UIAlertController(title: "Are you sure?", message: alertMessage, preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "Cancel", style: .Cancel, handler: nil))
alert.addAction(UIAlertAction(title: "Confirm", style: .Destructive, handler: handleConfirmPressed))
presentViewController(alert, animated: true, completion: nil)
}
func handleConfirmPressed(action: UIAlertAction){
//need listINeed here
}
用法
class Blog extends Eloquent {
public function scopePopular($query,$year)
{
return $query->where('year', '=', $year);
}
}