Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在lumen中使用不带前缀的别名连接表_Php_Mysql_Database_Alias_Lumen - Fatal编程技术网

Php 如何在lumen中使用不带前缀的别名连接表

Php 如何在lumen中使用不带前缀的别名连接表,php,mysql,database,alias,lumen,Php,Mysql,Database,Alias,Lumen,这是我的活动sql: SELECT sag.goods_id, if(sa.status=3, 1, 0) AS act_status FROM d_seckill_activity_goods AS sag LEFT JOIN d_seckill_activity AS sa ON sa.id = sag.sa_id WHERE sa.id = 1 然后我需要它使用的流明分贝 所以我这样写: $prefix = env('DB_PREFIX'); DB::table('seckill_ac

这是我的活动sql:

SELECT sag.goods_id, if(sa.status=3, 1, 0) AS act_status 
FROM d_seckill_activity_goods AS sag LEFT JOIN d_seckill_activity AS sa ON sa.id = sag.sa_id
WHERE sa.id = 1
然后我需要它使用的流明分贝 所以我这样写:

$prefix = env('DB_PREFIX');
DB::table('seckill_activity_goods as sag')
    ->leftJoin('seckill_activity as sa', 'sa.id', '=', 'sag.sa_id')
    ->select('sag.goods_id', DB::raw("if({$prefix}sa.status=3, 1, 0) AS act_status"))
    ->first();
幸运的是,它工作得很好,但我讨厌$prefix变量


这是使用DB的另一种方式吗?

我根本不理解$prefix。在本机sql语句中,表达式中sa.status之前没有任何内容。你用它做什么?如果你只是从php代码中删除$prefix会发生什么?@Shadow,remove$prefix,SQLSTATE[42S22]:未找到列:1054“字段列表”中的未知列“sa.status”(SQL:select
d\u sag
goods\u id
,if(sa.status=3,1,0)作为从
d_seckill\u activity\u货物
AS
d_sag
left加入
d_seckill\u activity
AS
d_sa
上的
id
d_sag
sa_id
limit 1)我根本不理解$prefix。在本机sql语句中,表达式中sa.status之前没有任何内容。你用它做什么?如果你只是从php代码中删除$prefix会发生什么?@Shadow,remove$prefix,SQLSTATE[42S22]:未找到列:1054“字段列表”中的未知列“sa.status”(SQL:select
d\u sag
goods\u id
,if(sa.status=3,1,0)从
d\u seckill\u activity\u货物
AS
d\u sag
左侧加入
d\u seckill\u activity
AS
d\u sa
上的
d\u sa
id
限制1)