我在 ATK4 DSQL 中需要帮助,我想使用动态 SQL 从我的 Employee Model Table 类中只检索一组特定的行。
我可以在我的 WHERE 语句中生成一个 SQL BETWEEN 或一个 IN 子句,使其“以某种方式”看起来像这些结构:
SQL “输入”:
选择 id,fnm,lnm,bp 从 emp WHERE id IN (1,3,5,7,9,11);
$model=$this->add('Model_Employee');
$set=array(1,3,5,7,9,11);
$list=$mode->dsql()
->field('id')
->field('fnm') // first name
->field('lnm') // last name
->field('bp') // basic pay
->where('id in (%l)',$set) // only 1,3,5,7,9 & 11
->do_getAll();
SQL “之间”:
从 emp 中选择 id、fnm、lnm、bp,其中 bp 在 3000 和 5000 之间;
$model=$this->add('Model_Employee');
$min=3000;$max=5000;
$range=$mode->dsql()
->field('id')
->field('fnm') // first name
->field('lnm') // last name
->field('bp') // basic pay
->where('bp between %i and %i',$min,$max)
->do_getAll();
谢谢!