【问题标题】:row count from second table with more than one table join具有多个表连接的第二个表的行数
【发布时间】:2020-01-04 18:40:04
【问题描述】:

我有三张桌子:

TABLE1:

jobposts (id,user_id,qualification_id)

TABLE2:

appliedjobs (id,jobposts_id,message)

TABLE3:

qulificationmasters (id, qualificationame)
jobposts_id from TABLE is foreign key of id of jobposts

我需要所有职位信息中的所有已申请职位数的记录

我试过了:

$jobposteddetails = DB::table('jobposts')
    ->rightJoin('qulificationmasters','qulificationmasters.id', '=', 'jobposts.qualification_id')   
    ->leftJoin('appliedjobs','appliedjobs.jobposts_id', '=', 'jobposts.id')
   ->select('jobposts.*','qulificationmasters.QualificationName', DB::raw('count(appliedjobs.id) as counts'))
            ->where('jobposts.user_id', '=', $user->id)
            ->groupBy('appliedjobs.id')
            ->get();

但会出现错误,例如:它希望 groupby 中的每一列 jobposts 和 qulificationmasters 和 qulificationmasters.id

但会出现错误,例如:它希望 groupby 中的每一列 jobposts 和 qulificationmasters 和 qulificationmasters.id

如果我将所有职位和 qulificationmasters 列分组,那么它工作得很好。 但是为什么所有的列都是 gropuby。

【问题讨论】:

    标签: laravel laravel-query-builder


    【解决方案1】:

    进入config文件夹database.php找到mysql数组,将严格设为false,再次检查。

    【讨论】:

    • 但为什么严格为假?
    • 严格模式控制 MySQL 如何处理数据更改语句(如 INSERT 或 UPDATE)中的无效或缺失值。一个值可能由于多种原因而无效。例如,它可能具有错误的列数据类型,或者可能超出范围。当要插入的新行不包含在其定义中没有显式 DEFAULT 子句的非 NULL 列的值时,缺少值。 (对于 NULL 列,如果缺少值,则插入 NULL。)严格模式也会影响 DDL 语句,例如 CREATE TABLE。
    猜你喜欢
    • 2020-03-15
    • 2018-05-17
    • 2016-10-05
    • 2017-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-07
    相关资源
    最近更新 更多