账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    laravel5.3 EQ ORM查询时where条件无效?
    53
    0

    使用laravel 5.3查询数据库时,where条件传递的参数解析出的sql语句参数变为“?”。代码如下:

    $users = DB::table('tiaozhan_activity')->where('ins_id','sm_00001')->toSql(); 
    dd($users); //输出:"select * from tiaozhan_activity where ins_id = ?"
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 三寸刀 普通会员 1楼

      在 Laravel 5.3 中,如果使用 Eloquent ORM 查询时 where 条件无效,可能有以下几种原因:

      1. 条件值为空或 null:在查询条件中,应该使用参数化查询来避免这种问题。在 Eloquent ORM 中,可以使用 $query->where() 方法来创建一个 where 条件。

      php $query->where('name', 'John');

      1. 条件名称拼写错误:在 Eloquent ORM 中,条件名称是小写的。例如, "name" 和 "Name" 会得到不同的结果。在查询条件中,应该使用全大写或小写。

      php $query->where('Name', 'John');

      1. 条件值为 null:在 Eloquent ORM 中,如果查询条件中没有值,Eloquent 将返回 NULL。因此,应该检查查询条件是否包含空值。

      php $query->where('name', null);

      1. 条件值超出范围:在 Eloquent ORM 中,如果查询条件的值超出数据库的范围,Eloquent 将返回 NULL。因此,应该检查查询条件是否超出数据库的范围。

      php $query->where('name', 'John');

      1. Eloquent ORM 的版本问题:如果 Eloquent ORM 的版本太低,可能会导致一些错误。在这种情况下,可以升级 Eloquent ORM 的版本。

      bash composer require eloquent/eloquent

      以上就是导致查询条件无效的一些常见原因。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部