首页 > 解决方案 > 我想从数据库中获取给定格式的日期

问题描述

我想以这种格式示例“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 未知列 'created_at' 在“订单子句”(SQL:(选择title,DATE_FORMAT(created_at,“%d-%b-%Y”),DATE_FORMAT(updated_at,“%d- %b-%Y"), SUBSTRING(description,0,200), imported, import_urlfrom p1036_mst_eventwhere user_id_fkis null) union (select title, DATE_FORMAT("created_at", "%d-%b-%Y"), DATE_FORMAT(updated_at, "%d -%b-%Y"), SUBSTRING(description,0,200), imported, import_urlfrom p1036_mst_articlewhere user_id_fkis null) union (select title, DATE_FORMAT(created_at, "%d-%b-%Y"), DATE_FORMAT(updated_at, "%d- %b-%Y"), SUBSTRING(description,0,200), imported, import_urlfrom p1036_mst_meetupwhere user_id_fkis null) union (selecttitle, DATE_FORMAT(created_at, "%d-%b-%Y"), DATE_FORMAT(updated_at, "%d-%b-%Y"), SUBSTRING(description,0,200), imported, import_urlfrom p1036_mst_questionwhere user_id_fkis null) union (select title, DATE_FORMAT(created_at, "%d-%b-%Y"), DATE_FORMAT(updated_at, "%d-%b-%Y"), SUBSTRING(description,0,200), imported, import_urlfrom p1036_mst_jobwhere user_id_fkis null) union (select title, DATE_FORMAT (created_at, "%d-%b-%Y"), DATE_FORMAT(updated_at, "%d-%b-%Y"), SUBSTRING(description,0,200), imported, import_urlfrom p1036_mst_educationwhere user_id_fkis null) order by created_atdesc)

标签: phplaravel

解决方案


请你检查一下-

$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);

推荐阅读