我尝试将created_date转换为查询构建器的日期,但我没有运气。 我知道我可以使用刀片将其转换为视图,但我在查询中需要这个,因为我想将它用于dataTables函数。 我手动尝试了mysql代码,它正常工作。
这里是我的代码:
$convert = \DB::raw("SELECT DATE_FORMAT((created_at), '%e %c %Y') AS tanggal");
$bonus = bonus_transaction::select('id', "$convert", 'transaction_type', 'amount_usd_out' , 'status_withdraw')
->where('transaction_type', 'Reinvest')->get();
我得到了这样的错误
"SQLSTATE[42S22]: Column not found: 1054 Unknown column 'SELECT DATE_FORMAT((created_at), %e %c %Y)' in 'field list' (SQL: select `id`, `SELECT DATE_FORMAT((created_at), %e %c %Y)` as `tanggal`, `transaction_type`, `amount_usd_out`, `status_withdraw` from `bonus_transaction_log` where `transaction_type` = Reinvest)"
答案 0 :(得分:2)
尝试移除SELECT
,因为您已经在laravel中select()
,请在此处更改
$convert = \DB::raw("DATE_FORMAT('created_at', '%e %c %Y') as tanggal");
答案 1 :(得分:1)
你可以尝试这个.Asi注意到你已经为created_at添加了额外的括号
$convert = \DB::raw("DATE_FORMAT(created_at, '%e %c %Y') AS tanggal");
$bonus = bonus_transaction::select('id', "$convert", 'transaction_type', 'amount_usd_out' , 'status_withdraw')
->where('transaction_type', 'Reinvest')->get();
答案 2 :(得分:0)
我建议使用Model Eloquent来获得更好的解决方案 对于日期只需键入您的模型
protected $dates = ['created_at'];
希望它对你有用
答案 3 :(得分:0)
我终于可以修复我的代码,谢谢大家。在这里答案。
$convert = \DB::raw("DATE_FORMAT(created_at, '%e/%c/%Y') as tanggal");
$bonus = bonus_transaction::select('id', $convert, 'transaction_type', 'amount_usd_out' , 'status_withdraw')->where('transaction_type', 'Reinvest')->get();