如何初始化 Table Name 在 laravel 7 中使用查询生成器
How to initialization Table Name use query builder in laravel 7
我尝试初始化 table 名称,但出现错误。
在这种情况下,我在 table name
中对 'a' & 'b' 进行了初始化
所以,这是我的代码:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;
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);
}
}
来自错误的消息:
Illuminate\Database\QueryException
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);
我尝试初始化 table 名称,但出现错误。
在这种情况下,我在 table name
中对 'a' & 'b' 进行了初始化所以,这是我的代码:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;
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);
}
}
来自错误的消息:
Illuminate\Database\QueryException
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);