我想以这种格式示例“ 2019年8月20日”获取日期,并从数据库中获取200个单词的描述,因此我正在使用以下代码:-
public function wsUserActivity(){
$request = Input::all();
//try {
//$user_id = $request['user_id'];
$no=isset($request['page_number'])?$request['page_number']:0;
$nos=isset($request['count'])?$request['count']:10;
$skp=$no*$nos;
$array_json_return = array('status' => '1','msg' => 'Success');
$u_activity = array();
$u_articles = DB::table('mst_article')->select('title', DATE_FORMAT('created_at', "%d-%b-%Y"), DATE_FORMAT('updated_at', "%d-%b-%Y"), SUBSTRING('description',0,200), 'imported', 'import_url')->where('user_id_fk', $user_id);
$u_meetup = DB::table('mst_meetup')->select('title', DATE_FORMAT('created_at', "%d-%b-%Y"), DATE_FORMAT('updated_at', "%d-%b-%Y"), SUBSTRING('description',0,200), 'imported', 'import_url')->where('user_id_fk', $user_id);
$u_question = DB::table('mst_question')->select('title', DATE_FORMAT('created_at', "%d-%b-%Y"), DATE_FORMAT('updated_at', "%d-%b-%Y"), SUBSTRING('description',0,200), 'imported', 'import_url')->where('user_id_fk', $user_id);
$u_job = DB::table('mst_job')->select('title', DATE_FORMAT('created_at', "%d-%b-%Y"), DATE_FORMAT('updated_at', "%d-%b-%Y"), SUBSTRING('description',0,200), 'imported', 'import_url')->where('user_id_fk', $user_id);
$u_education = DB::table('mst_education')->select('title', DATE_FORMAT('created_at', "%d-%b-%Y"), DATE_FORMAT('updated_at', "%d-%b-%Y"), SUBSTRING('description',0,200), 'imported', 'import_url')->where('user_id_fk', $user_id);
$u_activity= DB::table('mst_event')->select('title', DATE_FORMAT('created_at', "%d-%b-%Y"), DATE_FORMAT('updated_at', "%d-%b-%Y"), SUBSTRING('description',0,200), 'imported', 'import_url')->where('user_id_fk', $user_id)->union($u_articles)->union($u_meetup)->union($u_question)->union($u_job)->union($u_education)->latest()->get();
$array_json_return['u_activity'] = $u_activity;
/*} catch (\Exception $e) {
$array_json_return = $this->api_default_fail_response(__function__, $e);
}*/
echo json_encode($array_json_return);
}
但是它给出了这个错误:
date_format()期望参数1为DateTimeInterface,指定字符串
现在出现此错误:
SQLSTATE [42S22]:找不到列:1054'order子句'中的未知列'created_at'(SQL:(select
title
,DATE_FORMAT(created_at,“%d-%b-%Y”), DATE_FORMAT(updated_at,“%d-%b-%Y”),SUBSTRING(description,0,200),imported
,import_url
来自p1036_mst_event
,其中user_id_fk
为空)联合(选择title
,DATE_FORMAT(“ created_at”,“%d-%b-%Y”),DATE_FORMAT(updated_at,“%d-%b-%Y”),SUBSTRING(description,0,200),{ {1}},imported
中的import_url
,其中p1036_mst_article
为空)联合(选择user_id_fk
,DATE_FORMAT(created_at,“%d-%b-%Y”), DATE_FORMAT(updated_at,“%d-%b-%Y”),SUBSTRING(description,0,200),title
,imported
来自import_url
,其中p1036_mst_meetup
为空)联合(选择user_id_fk
,DATE_FORMAT(created_at,“%d-%b-%Y”),DATE_FORMAT(updated_at,“%d-%b-%Y”),SUBSTRING(description,0,200),{{1 }},title
中的imported
,其中import_url
为空)联合(选择p1036_mst_question
,DATE_FORMAT(created_at,“%d-%b-%Y”),DATE_FORMAT( (从user_id_fk
到title
为空的SUBSTRING(description,0,200),imported
,import_url
,其中p1036_mst_job
为空)union_at,“%d-%b-%Y”)联合(选择user_id_fk
,DATE_FORMAT(created_at,“%d-%b-%Y”),D ATE_FORMAT(updated_at,“%d-%b-%Y”),SUBSTRING(description,0,200),title
,imported
来自import_url
,其中p1036_mst_education
为空)顺序由user_id_fk
desc)
答案 0 :(得分:1)
请您检查一下-
$user_id = $request['user_id'];
$u_articles = DB::table('mst_article')
->select('title', DB::raw('DATE_FORMAT(created_at, "%d %b %Y") as created_at'), DB::raw('DATE_FORMAT(updated_at, "%d %b %Y") as updated_at'), DB::Raw('SUBSTRING(description, 1, 200) as description'), 'imported', 'import_url')
->where('user_id_fk', $user_id)
->get();
dd($u_articles);
答案 1 :(得分:0)
代替以下内容:
->select('title', DATE_FORMAT('created_at', "%d-%b-%Y"),
使用:
->select('title', \DB::raw('DATE_FORMAT(created_at, "%d-%b-%Y") as created_at'),
说明:
您使用的是DATE_FORMAT,PHP假定您使用的是PHP方法Date_Format,而不是mysql的DATE_FORMAT方法。使用DB :: raw方法,并以DB :: raw方法编写mysql代码以获取所需格式的日期。