将原始数据库的结果存储在 laravel 中的变量中
store result of raw DB in a variable in laravel
我想在 Laravel 应用程序中 运行 此自定义查询并将结果保存在变量中
SELECT MIN(t1.ID + 1) AS nextID
ROM DB.tablename t1
LEFT JOIN DB.tablename t2
ON t1.ID + 1 = t2.ID
WHERE t2.ID IS NULL
我已经尝试了很多,但无法将结果保存在变量中。如果我在 mysql 控制台中 运行 以上内容,我会得到一个整数值。
我在 laravel 中尝试了以下操作,但结果是 DBBuilder
$result = DB::table('tablename')
->select(DB::raw("SELECT MIN(t1.ID + 1) AS nextID
FROM DB.tablename t1
LEFTDB.tablename t2
ON t1.ID + 1 = t2.ID
WHERE t2.ID IS NULL
")
);
删除 DB:: table
行并按如下方式修改其余部分解决了问题
DB::select(DB::raw("SELECT MIN(t1.ID + 1) AS nextID
FROM DB.tablename t1
LEFT JOIN DB.tablename t2
ON t1.ID + 1 = t2.ID
WHERE t2.ID IS NULL
")
)['0']->nextID;
看起来你正在尝试找出自动增量列的下一个值,如果是的话
SELECT AUTO_INCREMENT FROM information_schema.TABLES WHERE TABLE_SCHEMA = "yourDataBaseName" AND TABLE_NAME = "yourTableName"
我想在 Laravel 应用程序中 运行 此自定义查询并将结果保存在变量中
SELECT MIN(t1.ID + 1) AS nextID
ROM DB.tablename t1
LEFT JOIN DB.tablename t2
ON t1.ID + 1 = t2.ID
WHERE t2.ID IS NULL
我已经尝试了很多,但无法将结果保存在变量中。如果我在 mysql 控制台中 运行 以上内容,我会得到一个整数值。
我在 laravel 中尝试了以下操作,但结果是 DBBuilder
$result = DB::table('tablename')
->select(DB::raw("SELECT MIN(t1.ID + 1) AS nextID
FROM DB.tablename t1
LEFTDB.tablename t2
ON t1.ID + 1 = t2.ID
WHERE t2.ID IS NULL
")
);
删除 DB:: table
行并按如下方式修改其余部分解决了问题
DB::select(DB::raw("SELECT MIN(t1.ID + 1) AS nextID
FROM DB.tablename t1
LEFT JOIN DB.tablename t2
ON t1.ID + 1 = t2.ID
WHERE t2.ID IS NULL
")
)['0']->nextID;
看起来你正在尝试找出自动增量列的下一个值,如果是的话
SELECT AUTO_INCREMENT FROM information_schema.TABLES WHERE TABLE_SCHEMA = "yourDataBaseName" AND TABLE_NAME = "yourTableName"