我试图将提供给我的sql中的“ left(SchoolCode,1)='1'”转换为正确的where语句的正确字段。我不是SQL专家,但一直在浏览Cakephp文档,似乎找不到解决方案。任何帮助将不胜感激。
我正在创建的应用程序基本上具有第一个屏幕,其中显示了当前年份和4个复选框,每个复选框均具有基本的中级和高级。因此,如果选择“基本”并按下“提交”,则它将执行下面的语句,并返回所有记录。
select *
from MMSD.vSchoolFromCalendar
where FiscalYear = 2019
and DistrictCode = 'MA'
and summerSchool = '0'
and left(SchoolCode,1) = '1'
public function getElementary()
{
$query = $this->find()
->where([
'FiscalYear' => '2019',
'DistrictCode' => 'MA',
'summerSchool' => '0',
'left(SchoolCode,1)' => '0',
]);
return $query->toArray();
}
我的结果应该返回带有“和left(SchoolCode,1)='1'”作为选定的where字段的数据,而现在它还没有。
答案 0 :(得分:0)
public function getSchoolsByLevel(string $code = '0', string $isSummerSchool = '0')
{
$query = $this->find()
->where([
'FiscalYear' => $schoolYear,
'DistrictCode' => 'MA',
'summerSchool' => $isSummerSchool,
'SchoolCode like' => $code,
]);
return $query->toArray();
}