我尝试初始化表名,但出现错误。
在这种情况下,我初始化了"a"&表名中的b'
所以,这是我的代码:
<?php
namespace App;
use IlluminateDatabaseEloquentModel;
use IlluminateSupportFacadesDB;
use IlluminateSupportFacadesSchema;
class Act_admin extends Model
{
static function showCustomer(){
$query = "a.CUST_CODE, a.CUST_NAME AS CUSTOMER NAME, a.GRADE";
$data['data'] = DB::table("dummy_db.customer a ")
->leftJoin("dummy_db.agents b", "a.AGENT_CODE", "=", "b.AGENT_CODE")
->select(DB::raw($query))->paginate(10);
dd($data);
}
}
a来自错误的消息:
IlluminateDatabaseQueryException
SQLSTATE [42000]: Syntax error or access violation: 1103 Incorrect table name 'customer a '
(SQL: select count(*) as aggregate from `dummy_db`.`customer a ` inner join `dummy_db`.`agents b` on `a`.`AGENT_CODE` = `b`.`AGENT_CODE`)
使用as
创建别名。
$data['data'] = DB::table("dummy_db.customer as a")
->leftJoin("dummy_db.agents as b", "a.AGENT_CODE", "=", "b.AGENT_CODE")
->select(DB::raw($query))->paginate(10);