我既喜欢又讨厌 Cakephp。我需要多租户站点中几乎每个控制器中的当前域名和 ID。
所以,在 AppContoller beforeFilter...如果我这样做...
$dname = $_SERVER['HTTP_HOST'];
$this->set('domain',$dname); //only to show test output in the view.
我可以毫无问题地访问视图中的 $domain。目前很好。我知道我可以访问 SERVER vars。然后,当我像这样对域名进行硬编码时,我的查找功能可以正常工作......
$this->loadModel('Domain');
$domainName = $this->Domain->find('first',array('conditions' => array('Domain.name' =>'test.localhost.com')));
但是,当我尝试在这样的条件下使用 $dname 时,它会失败。
$this->loadModel('Domain');
$dname = $_SERVER['HTTP_HOST'];
$domainName = $this->Domain->find('first',array('conditions' => array('Domain.name' => $dname)));
我感觉我很接近了,但是……怎么了?