当前位置: 首页 > 知识库问答 >
问题:

对整数调用成员函数toSql()

唐彦
2023-03-14

我有一个密码:

$update= DB::table('Appraiser_commands')->where('cycle_id', $cycleid)->where('user_id',$userId)->update(['mode' => $mode,'Appraiser_commnd'=>$json])->toSql();
        echo $update;exit;

我正在尝试使用toSql()将laravel查询转换为mysql

但我犯了一个错误,比如

对整数调用成员函数toSql()

然后我尝试了

 DB::table('Appraiser_commands')->where('cycle_id', $cycleid)->where('user_id',$userId)->update(['mode' => $mode,'Appraiser_commnd'=>$json])
         DB::enableQueryLog();
        $queries = DB::getQueryLog();
        dd(end($queries));

但它返回的输出为'false',我无法得到预期的输出。我不知道为什么会发生这种情况。任何帮助都将不胜感激。

预期产出:

UPDATE table_name
SET Appraiser_commnd=value, mode=value2,...
WHERE cycle_id=some_value 

共有3个答案

韦晟睿
2023-03-14

在Laravel查询生成器和-

如何在Laravel 5中执行查询?DB::getQueryLog返回空数组

萧亦
2023-03-14

执行以下操作:

a) 在功能开始时:

DB::enableQueryLog();

b)执行查询后执行以下操作:

dd(DB::getQueryLog());

它将给出整个查询

谢旻
2023-03-14

调用update()时,它执行查询并返回受影响的行数(整数)。然后对整数调用toSql()。这是导致您看到的错误的原因。

如果您试图在不运行查询的情况下查看SQL,则需要执行以下操作:

// start the query but don't execute it
$query = DB::table('Appraiser_commands')
    ->where('cycle_id', $cycleid)
    ->where('user_id', $userId);

// use the grammar object to get the update sql
$sql = $query
    ->getGrammar()
    ->compileUpdate($query, ['mode' => $mode, 'Appraiser_commnd' => $json]);

如果确实要执行查询,但也要获取SQL,则可以执行以下操作:

// start the query but don't execute it
$query = DB::table('Appraiser_commands')
    ->where('cycle_id', $cycleid)
    ->where('user_id', $userId);

// use the grammar object to get the update sql
$sql = $query
    ->getGrammar()
    ->compileUpdate($query, ['mode' => $mode, 'Appraiser_commnd' => $json]);

// actually run the update statement
$updated = $query
    ->update(['mode' => $mode, 'Appraiser_commnd' => $json]);

此外,可以在查询日志中查看sql,但必须在执行语句之前启用查询日志:

// enable the query log
DB::enableQueryLog();

// execute the update
DB::table('Appraiser_commands')
    ->where('cycle_id', $cycleid)
    ->where('user_id', $userId)
    ->update(['mode' => $mode, 'Appraiser_commnd' => $json]);

// view the query log
dd(DB::getQueryLog());
 类似资料:
  • 本文向大家介绍浅析成员函数和常成员函数的调用,包括了浅析成员函数和常成员函数的调用的使用技巧和注意事项,需要的朋友参考一下 在Coordinate类中,有一个Display()成员函数和一个Display() const常成员函数,代码如下 Display()成员函数和一个Display() const常成员函数是互为重载的,那么如果我们直接像下面这样调用该方法,会调用的是哪个呢? 那么运行下程序

  • 问题内容: 因此,我正在重构代码以实现更多的OOP。我设置了一个类来保存页面属性。 稍后,我像这样调用set_page_title()函数 当我收到错误消息时: 调用非对象上的成员函数set_page_title() 那我想念什么呢? 问题答案: 这意味着它不是对象的实例。我们可以看到您用来初始化变量的代码吗? 当您期望特定的对象类型时,还可以使用PHP的类型提示功能 Docs 在违反逻辑时得到错

  • 请帮帮我 致命错误:在第104行的/home/u357965800/public_html/include/class.admin.php中对非对象调用成员函数prepare()

  • 问题内容: 我正在尝试在此准备好的语句中绑定变量,但我一直收到错误: 调用该函数,并将变量传递给它。当我更改函数以仅回显变量时,该变量会在页面上正常打印,但是如果我尝试在此处绑定它,则会收到错误。有人可以帮忙吗? 我知道函数没有完全写在这里,但这不应该是一个问题。我不明白为什么我会收到此错误。 问题答案: 正如错误消息所说,这似乎不是一个对象。尝试在您的prepare- call之后使用来调试它。

  • 我有5个类别Categoria、Produto、Subcategoria、submoduto和Comanda,对于所有类别中的执行搜索,我尝试提供如下服务: 我尝试访问ComandaController上的服务 然后symfony返回错误 我services.yml有 怎么了?

  • 问题内容: 我的查询有问题。我最近改用了PDO,这对我来说是新的。现在,我需要在查询中使用JOIN来从另一个表中获取数据,而无需执行两次执行。 问题是,我收到此错误: 我不明白问题是什么。这是我的代码的样子: 或简称为查询: 我想要的是,从用户ID为session且请求为0的朋友那里获取所有行。但是然后我想获取用户中那些朋友的ID,以便我可以链接到他们的个人资料。注意 感谢您提供任何反馈意见,不必