cakephp 在控制器中调用API的最佳方法?

x7yiwoj4  于 4个月前  发布在  PHP
关注(0)|答案(1)|浏览(52)

在消息型号中,我有
id/主题/注解/发件人ID/收件人ID
所以在消息控制器

public function index(){

 $msgs = $this->Message->find();
 $this->set('msgs', $msgs);
}

字符串
在留言查看

foreach ($msgs as $msg)

 echo ...

 
endforeach


但是,我不想输出发送者ID和接收者ID,我希望能够通过一个已经设置好的API获取用户名,http://example.com/userid/1,它将返回JSON格式的用户名。
我知道在view中这样做是不好的做法,但是你能建议我在controller中如何做吗?

jq6vz3qz

jq6vz3qz1#

为你的API调用创建一个模型,告诉cake不要为它寻找一个db表,并让函数的逻辑将用户名拉到那里。

App::uses('AppModel', 'Model');
class MyAPI extends AppModel {
    public $useTable = false;

    public function getUserNameForID(Int $id = null) {
        //Your logic here
        return $userName;
    }
}

字符串
然后在你的控制器中,你需要加载MyAPI模型并递归地传递你的数据

$this->loadModel('MyAPI');

foreach (...) {
    ...
    $userName = $this->MyAPI->getUserNameForID($userID);
    ...
}

相关问题