[SQL] Laravel 웅변 테이블에 가입하고 관련 계산하기
SQLLaravel 웅변 테이블에 가입하고 관련 계산하기
어떻게 설득력 고려 다음과 같은 테이블 구조에 복용과 조인을 사용합니까 :
나는 속성 테이블이
---------------------
ID | Name
---------------------
1 | Property Name
나는 방을보다
----------------------
RoomID | Property
----------------------
A-212 | 1
----------------------
F-1231 | 1
여기에 속성 외래 키입니다 나는 모든 속성을 얻을 그들은 각각이 어떻게 많은 객실 카운트 원하는 것보다
같은 모든 외모를 검색 쿼리
class PropertiesRepository extends EloquentBaseRepository implements PropertiesInterface
{
use TaggableRepository;
/**
* Construct
* @param Properties $properties
*/
public function __construct( Properties $properties )
{
$this->model = $properties;
}
/**
* Get all properties joining rooms
* @return Properties
*/
public function getAll()
{
return $this->model->get();
}
}
어떻게 원하는 결과를 얻기 위해이 쿼리를 확장 할 수 있습니까?
해결법
-
==============================
1.
$this->model->leftJoin('Rooms', 'Properties.ID', '=', 'Rooms.Property') ->selectRaw('Properties.*, count(Rooms.RoomID) as RoomsCount') ->groupBy('Properties.ID') ->get();
-
==============================
2.귀하의 재산 모델 클래스의 관계를 정의합니다 :
귀하의 재산 모델 클래스의 관계를 정의합니다 :
<?php namespace App\Models; class Property extends Model { public function rooms() { return $this->hasMany(Room::class); } }
$properties = Property::withCount(['rooms'])->get();
이 결과에 rooms_count을 추가합니다.
from https://stackoverflow.com/questions/24648554/laravel-eloquent-to-join-table-and-count-related by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 자바 프로그래밍 - SQL 문이 저장되어야 하는가? [닫은] (0) | 2020.07.19 |
---|---|
[SQL] 저장되지 않은 SQL 쿼리 스크립트를 복구 (0) | 2020.07.19 |
[SQL] "피벗"테이블 오라클은 - 어떻게 컬럼에 행 항목을 변경하려면 (0) | 2020.07.19 |
[SQL] ">"로 ROWNUM 함수의 사용 오라클 로그인 [중복] (0) | 2020.07.19 |
[SQL] 왼쪽은 쿼리 첫 번째 테이블의 모든 행을 반환하지 JOIN (0) | 2020.07.19 |