在cakephp3中,我似乎无法向查询结果添加字段。在cakephp2中,这个想法很简单,但由于我正在处理对象,这是不同的。我检查了以前的SE帖子,没有得到答案。它一定很简单,但我找不到。在这里,我试图添加一个自定义字段"距离"到结果集
$lessons=$this->Lessons->getLessonsDay($searchDate,$searchFirstName,$searchLastName,$searchSubject, $tutorIds);
foreach( $lessons as $key => $item){
// debug($item);
$stlat=$item->student->address_lat;
$stlong=$item->student->address_long;
$tutlat=$item->tutor->address_lat;
$tutlong=$item->tutor->address_long;
$dist=$this->calculate_distance( $stlat,$stlong,$tutlat,$tutlong);
debug($dist);
$lessons->distance= $dist; //no effect
$lessons[$key]['distance']=$dist; //error
$lessons[$key]['Lessons']['distance']=$dist; //Error: Cannot use object of type Cake'ORM'Query as array
}
如何添加到CakePHP3 ResultSet?
http://book.cakephp.org/3.0/en/orm/retrieving-data-and-resultsets.html checking-if-a-query-or-resultset-is-empty
也许你想做
$item->distance = $dist – arilia