Laravel Where Count> ñ

时间:2018-04-28 22:15:33

标签: laravel eloquent laravel-5.6

我的应用中有2个型号:

1。 Customer.php

2。 Car.php

现在我想运行一个返回所有少于2辆汽车的客户的查询。其中2是可由用户更改的数字。

我试过这个,但它不起作用,它只返回所有客户记录:

$customers = Customer::whereHas("cars", function($query) {
    $query->selectRaw("count(*) < ?", [2]);
})
->get();

修改 这两个模型在枢轴表中链接,这意味着客户可以拥有超过1辆汽车,而汽车可以属于超过1个客户。

3 个答案:

答案 0 :(得分:2)

使用此:

$customers = Customer::withCount('cars')
    ->having('cars_count', '<', 2)
    ->get();

答案 1 :(得分:1)

所以,结果就是这样。

模型中的关系create table Customers( CustID int, Surname varchar(255), GivenName varchar(255), Gender varchar(1), Primary Key(CustID) ); create table Daytrips( DaytripName varchar(255), Description varchar(255), Primary Key(DaytripName ) ); create table DaytripEvent ( EventId int, DaytripName varchar(255), Month varchar(255), Day int, Year int, Fee int, Primary Key(EventId), Foreign Key(DaytripName) REFERENCES Daytrips(DaytripName) ); create table Bookings ( BookingId int, CustId int, Tour varchar(255), EventMonth varchar(255), EventDay int, EventYear int, Payment int, DateBooked varchar(255), Primary Key(BookingId), Foreign Key(Tour) REFERENCES DayTripEvents(DaytripName) Foreign Key(CustId) REFERENCES Customers(CustId) );

Customer.php

询问让所有客户拥有N辆汽车。

public function cars()
 {
  return $this->belongsToMany('App\Car','car_customer','car_id','customer_id');
 }

$ userInput 是您的&#39; N&#39;

答案 2 :(得分:0)

你试过这个吗?

firebase.database().ref().once('value').then(function(snapshot){ console.log(snapshot.val()); })