php - 范围方法的 where 子句中的 Laravel 数据透视表计数

标签 php mysql database laravel laravel-5

以下是我的模型的关系:

音乐会

客户

field 属于音乐会(一对多)

时间段属于 field (一对多)

门票(多对多客户和时段)

我正在尝试获取时隙的多对多关系的计数,作为我的模型场所的作用域方法中的 where 子句的一部分。

public function scopeGetConcertVenuesThatHaveSlotsRemains($query, $concert_id)
{
    $query->where('concert_id', $concert_id);
    $query->whereHas('timeslots', function ($query2) {
        $query2->where('slots', '>=', "Ticket.counts"); 
    });
}

如何获取 Ticket.counts 值?

最佳答案

我自己得到了答案。

public function scopeGetConcertVenuesThatHaveSlotsRemains($query, $concert_id)
{
    $query->where('concert_id', $concert_id);
    $query->whereHas('timeslots', function ($query2) {
        $query2->withCount('customers')->whereColumn('slots', '>', 'customers_count'); 
    });
}

关于php - 范围方法的 where 子句中的 Laravel 数据透视表计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48899018/

相关文章:

php - 修复 PHP 中的字符

java - MySQL JDBC 连接池最大大小

sql - 在 MySQL 中创建/写入权限

mysql - 如何使用许多 JOIN 提高查询性能

java - 如何像 oracle/mysql in(row1,row2,row3...) 一样按行解析 HBase 查询数据

python - 一次查询中打开了多少个plpython执行环境?

php - 关于strpos : how to get 2nd occurrence of a string?的问题

php - 如何将我拥有的 php 变量($total)传递给输入中的外部 Javascript?

php - 是换行 =\n 还是\r\n?

MySQL:如何从具有重复行的表中获取最小值?