私はウェブサイトを開発しています。ユーザーは、1 つの登録アカウントで車と携帯電話を追加できます。ただし、トップ ヒット (車、携帯電話) の右側と左側のボックスがあり、中央には最近追加された車と携帯電話があります。トップ ヒットを要素に分割します。要素は topCars、topMobiles です。自分の仕事をするために 2 つの関数を作成することを考えていました。将来的には、ソフトウェアや映画などの他のサービスを追加する可能性があるため、両方の機能は汎用的である必要があります。ただし、最初の関数は最近の車や携帯電話などを取得し、それが私のホームページの真ん中に公開されます。2 番目の関数は、(車、携帯電話、映画など) のトップ ヒットを取得する必要があります。私は次のコードを書きました:
class AppController extends Controller
{
var $uses = array('Car','Mobile');
function Controler()
{
App::import('Core', 'Sanitize');
}
function beforeRender(){
$this->getLatestData();
}
function beforeFilter() {
$this->getTopData();
}
function getLatestData(){
$latestCars = $this->Car->find('all', array('order' => array('id' => 'desc'),
'limit' => 7));
$latestMobiles = $this->Mobile->find('all', array('order' => array('id' => 'desc'),
'limit' => 7));
$this->set('cars',$latestCars);
$this->set('mobiles',$latestMobiles);
}
function getTopData($item){ // to get the top hits
$top = $this->$item->find('all', array('order' => array('hits' => 'asc'),
'limit' => 3));
$this->set($item,$top);
}
}
私のコードは、最近追加されたアイテムに対しては正常に機能しますが、上位のヒットを取得しようとするとエラーが返されます。それを機能させる方法を教えてくださいありがとう