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

Laravel模型查询错误:“Illumb\Database\QueryException:SQLSTATE[23000]:完整性约束冲突”

江宏深
2023-03-14

我尝试联接2个表,但出现以下错误:

照明\数据库\查询异常: SQLSTATE[23000]:完整性约束违反: 1052列'user_id'中的子句是含糊不清的(SQL:选择sadaqah_history总计sadaqah_historyfoundation_donate_idfromdzikir_counter内连接sadaqah_historysadaqah_historyuser_id=dzikir_counteruser_id其中user_id=25和DATE_FORMAT(dzikir_date,'%Y-%m-%d')之间'2019-07-01'AND'2019-07-31')在文件 /var/www/backend/z/vendor/laravel/framework/src/Illuminate/Database/Connection.php行664

$startDate = Carbon::parse(new Carbon('first day of this month'))->toDateString();
$endDate = Carbon::parse(new Carbon('last day of this month'))->toDateString();
$models = DzikirCounter::where('user_id', $user->id)
           ->whereRaw("DATE_FORMAT(dzikir_date, '%Y-%m-%d') BETWEEN '$startDate' AND '$endDate'")
           ->join('sadaqah_history', 'sadaqah_history.user_id', '=', 'dzikir_counter.user_id')
           ->get(['sadaqah_history.total', 'sadaqah_history.foundation_donate_id'])              
           ->actived()
           ->orderBy('dzikir_date', 'desc')
           ->get();
protected $table = 'dzikir_counter';

protected $fillable = [
    'user_id',
    'counter',
    'dzikir_total',
    'dzikir_date',
    'total',
    'dzikir_detail',
    'status',
    'deleted_at',
    'created_at',
    'updated_at',
    'created_by',
    'updated_by',
];

protected $appends = [
    'dzikir_details'
];

protected $hidden = [
    'dzikir_detail',
    'user_id',
    'created_by',
    'updated_by',
    'deleted_at'
];
protected $casts = [
    'counter' => 'int',
    'dzikir_total' => 'int',
    'status' => 'int',
    'user_id' => 'int'
];
    protected $table = 'sadaqah_history';

    protected $fillable = [
         'user_id',
         'name',
         'point_total',
         'total',
         'sadaqah_date',
         'status',
         'is_dzikir',
         'foundation_donate_id',
         'created_at',
         'updated_at',
         'created_by',
         'updated_by',
    ];
    protected $hidden = [
        'id',
        'user_id',
        'name',
        'point_total',
        'created_at',
        'updated_at',
        'created_by',
        'updated_by',        
        'foundation_donate_id',
        'created_by',
        'updated_by'
    ];
    protected $casts = [
         'status' => 'int',
         'is_dzikir' => 'int',
         'point_total' => 'int',
         'total' => 'int',
         'user_id' => 'int',
         'foundation_donate_id' => 'int',
    ];

我想要实现的是与以下内容相同的SQL查询:

选择dzikir_计数器。用户id,dzikir_计数器。日月星辰,萨达卡历史。sadaqah_date,dzikir_柜台。dzikir_total,sadaqah_历史。总分,萨达卡历史。总计,sadaqah_历史。基金会捐赠的身份证来自于齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐齐。用户id=sadaqah\u历史记录。用户id和dzikir_计数器。dzikir_date=萨达喀历史。sadaqah_日期
订单依据sadaqah_历史记录<代码>基金会捐赠idDESC

共有1个答案

司迪
2023-03-14

替换

dzikicounter::where('user_id',$user-

具有

::dzikir_counter.user_id

您得到的错误意味着user\u id列同时存在于dzikir\u计数器sadaqah\u历史表中。在这种情况下,您应该指定应该在何处执行该表。

 类似资料:
  • 我的迁移: 但会导致查询异常:( SQLSTATE[23000]:完整性约束冲突:密钥“users\u identifier\u unique”的1062重复条目“76561198364059468”

  • 我下面Laravel-8教程从零开始。现在我在这个教程https://laracasts.com/series/laravel-8-from-scratch/episodes/30[][1]。但是当我跟随的时候 Illumb\Database\QueryException,消息为“SQLSTATE[23000]:完整性约束冲突:1062个重复条目“omnis”,用于键“categories\u n

  • 我是拉雷维尔的新手,这是我在拉雷维尔的第一个项目。像往常一样,首先我正在开发一个完整的用户身份验证系统。我可以注册一个用户,可以发送用户验证电子邮件,点击该链接后,我可以激活一个新的用户帐户,可以登录和注销。但在那之后,每当我尝试注册另一个新用户并单击验证链接后,我都会遇到一个异常, 现在这是我的路线。php, 这是我的账户管理员 这是我的创建用户迁移文件 这是我的用户。php 现在有什么问题?

  • 我提交一个表单与AJAX和在网络我得到这个错误。 我正在使用Laravel5.6和迁移。这是此表的迁移。 这是我的控制器的功能。 我的文件上传成功,数据也被插入到数据库中,但我仍然收到这个错误。这不影响我,但想解决它吗?

  • 我有一个laravel 5项目,我想使用软删除方法,但每次删除后,我都会收到以下sql错误消息: 我试图关闭时间戳,但它没有停止,我用谷歌搜索它,我找不到任何解决方案。 迁移: 型号: 谢谢你的帮助。

  • 无法删除或更新父行:外键约束失败(.,constraint外键()引用()) 文件实体代码: 扩展实体代码: