老师,是这样的。
在api接口模块的City控制器中有一个getCitysByParentId方法,因为我需要通过获取到的上级城市id去数据库中查询它对应的二级城市,所以实例化了app/common/model/City.php中的getNormalCitysByParentId方法,并传参$id
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public function getCitysByParentId() { //获取前台提交的json数据 $id = input( 'post.id' ); if (! $id ){ $this ->error( 'ID错误' ); } //根据上级城市id获取下一级的城市id $citys = $this ->obj->getNormalCitysByParentId( $id ); if (! $citys ){ return show(0, 'error' ); } return show(1, 'success' , $citys ); } |
但是getNormalCitysByParentId方法的默认参数为$parentId=0
1 2 3 4 5 6 7 8 9 10 11 12 | public function getNormalCitysByParentId( $parentId =0){ $data = [ 'status' => 1, 'parent_id' => $parentId , ]; $order = [ 'id' => 'desc' , ]; return $this ->where( $data ) ->order( $order ) ->select(); } |
因为代码运行是正确的,所以我知道整个代码看起来像是$id的值替换了0,传递给了$parentId,但这是为什么呢?
我实例化了一个方法并传递了一个参数,那对应的方法中不也应该有一个相同的变量来接收这个参数才对吗?为什么$id直接将值赋给了$parentId呢?
望老师教我,感谢!