“ Builder无法转换为字符串”删除查询Laravel 5.8时出错

问题描述 投票:0回答:1

当删除sql查询失败时,将显示错误“无法将生成器转换为字符串”。我该如何解决?

我的代码:

    public function deleteService(Request $request)
    {
        $id = $request->get('delete');
        $service = $request->get('service');

        $service_id = DB::table('services_info')->select('id')->where('service', '=', $service);
        DB::delete("DELETE FROM job_service WHERE job_id = {$id} AND service_id = {$service_id}");
    }
php sql database laravel laravel-5.8
1个回答
0
投票
// you are returning a Builder, no a result
$service_id = DB::table('services_info')->select('id')->where('service', '=', $service);
// add ->value('id')
$service_id = DB::table('services_info')->select('id')->where('service', '=', $service)->value('id');

[->value(<column name>)返回查询中<column name>的第一个值。

或者,您可以获取查询的第一个结果,然后获取id的值:->first()->id

参考:https://laravel.com/docs/7.x/queries

© www.soinside.com 2019 - 2024. All rights reserved.