【问题标题】:Laravel 5 QueryException in Connection.php line 673:Connection.php 第 673 行中的 Laravel 5 QueryException:
【发布时间】:2016-09-23 08:24:22
【问题描述】:

我收到此错误:

SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not     match number of tokens (SQL: delete from `preferences` where `tenant_id` = 154 and     `setting_type` = Category and 1 = 1)

当我使用这个功能时:

private function updateSettingsTable($request, $requestType, $settingType)
{
    $redundants = Preference::where('tenant_id', session('tenant'))->where('setting_type', $settingType)->delete();
}

然后这样称呼它:

$this->updateSettingsTable($request, 'categories', 'Category');

似乎 Laravel 在将其发送到查询之前删除了“类别”周围的引号。请问有什么想法吗?

【问题讨论】:

    标签: mysql laravel laravel-5.2


    【解决方案1】:

    试试这个:

    private function updateSettingsTable($request, $requestType,$settingType)
    {
      $redundants = Preference::where('tenant_id', session('tenant')) ->where('setting_type', "'".$settingType."'")->delete();
     }
    

    【讨论】:

    • 很有趣 - 但我不明白为什么这里需要它 - 我有很多其他类似的雄辩语句,无需添加引号即可正常工作。
    猜你喜欢
    • 2016-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-19
    • 2016-09-03
    • 2017-05-11
    • 1970-01-01
    • 2015-09-22
    相关资源
    最近更新 更多