การ Query ซ้อน Query ใน Framework
ผมได้แก้ไข Eleave เพิ่มส่วนสิทธิ์ของวันลา เพิ่มการอนุมัติ ต้องการเรียกขึ้นมาแสดงตอนเพิ่มคำขออนุมัติลา
สามารถเรียกใน Mysql ได้ แต่พอมาเรียกใน framework แล้ว error ครับ จะขอรวบกวนอาจารย์ช่วยชี้แนะด้วยครับ
$query = static::createQuery()
->SELECT ('L.topic' ,'R.qty' , ->SELECT COALESCE(SUM('I.days'),'0') ->FROM ('leave_leave_items I') ->WHERE (array(array('I.member_id' ,$login['id']),array('I.leave_id', 'L.id'),array('status',1),array('status2',1)array('status3',1) )) AS days_use)
->FROM ('leave_right R')
->JOIN ('leave_user U','LEFT',array('R.member_id ,U.id'))
->JOIN ('leave_leave L','LEFT',array('R.type_id ,L.id'))
->where (array(array('R.year' ,'YEAR(CURDATE())'),array('R.member_id', $login['id'])))
->order('L.topic');
สามารถเรียกใน Mysql ได้ แต่พอมาเรียกใน framework แล้ว error ครับ จะขอรวบกวนอาจารย์ช่วยชี้แนะด้วยครับ
$query = static::createQuery()
->SELECT ('L.topic' ,'R.qty' , ->SELECT COALESCE(SUM('I.days'),'0') ->FROM ('leave_leave_items I') ->WHERE (array(array('I.member_id' ,$login['id']),array('I.leave_id', 'L.id'),array('status',1),array('status2',1)array('status3',1) )) AS days_use)
->FROM ('leave_right R')
->JOIN ('leave_user U','LEFT',array('R.member_id ,U.id'))
->JOIN ('leave_leave L','LEFT',array('R.type_id ,L.id'))
->where (array(array('R.year' ,'YEAR(CURDATE())'),array('R.member_id', $login['id'])))
->order('L.topic');
SELECT L.topic ,R.qty ,(SELECT COALESCE(SUM(I.days),0) FROM leave_leave_items I WHERE I.member_id = 8 and I.leave_id = L.id and status = 1 and status2 = 1 and status3 = 1 ) AS days_use
FROM leave_right R left JOIN leave_user U on R.member_id = U.id left JOIN leave_leave L on R.type_id = L.id
where R.year = YEAR(CURDATE()) and R.member_id = 8 order by L.topic
https://www.kotchasan.com/...2%E0%B8%99_crud.html
->select(Sql::create('COALESCE(SUM(I.days),0)'))
->from('leave_items I')
->where(array(
array('I.member_id', 8),
array('I.leave_id', 'L.id'),
array('I.status', 1),
array('I.status2', 1),
array('I.status3', 1),
));
$query = static::createQuery()
->select('L.topic', 'R.qty', array($q1, 'days_use'))
->from('right R')
->join('user U', 'LEFT', array('R.member_id', 'U.id'))
->join('leave_ L', 'LEFT', array('L.id', 'R.type_id'))
->where(array(
array('R.member_id', 8),
array('R.year', date('Y')),
))
->order('L.topic');
// debug
echo $query->text();