Виртуальное поле, чтобы узнать расстояние на модели hasMany Through в Cakephp - PullRequest
0 голосов
/ 24 октября 2011

Я пытаюсь запустить виртуальное поле в hasMany Through Model в Cake, ниже приведена таблица:

id  user_id  friend_id
1   3        4
2   5        6

Выше находится Friends hasMany через таблицу, в которой user_id и friend_id принадлежат User.id UserВ таблице есть поля lat, lng, поэтому мы можем получить к ним доступ, предоставив hasMany user_id и friend с одинаковым псевдонимом для обоих в модели Friend.

Мой вопрос: как мы можем получить доступ к friend_id lat, lng из таблицы User после условного поиска?эта таблица друзей?

Мне нужно, чтобы они запускали запросы на список друзей, как показано ниже:

$this->Friend->virtualFields = array(    
            'distance' => "6371 * ACos( Cos( RADIANS( Friend.lat ) ) * Cos( RADIANS( $lat ) ) * Cos( RADIANS( $lng ) - RADIANS( Friend.lng ) ) + Sin( RADIANS( Friend.lat ) ) * Sin( RADIANS( $lat ) ) )"
        );

Но ниже генерирует ошибку SQL Неизвестный столбец Friend.lat

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...