传入id=3,得到id=1的数据,这是怎么回事?
来源:2-5 三端命名与运行ThinkPHP 5
无无法师
2017-06-11
控制器中的banner.php,打断点测试的结果如下图,即使是数据库里面也是按banner_id为1,2,3,4排序的。
模型中的banner.php只指定表为banner_item
<?php /** * Created by PhpStorm. * User: wt271 * Date: 2017/6/9 * Time: 21:00 */ namespace app\api\controller\v1; use app\api\model\Banner as BannerModel; use app\api\validate\IDMustBePostiveInt; use app\lib\exception\BannerMissException; class Banner { public function getBanner($id) { (new IDMustBePostiveInt())->goCheck(); $banner = BannerModel::find($id); //$banner = BannerModel::getBannerByID($id); if(!$banner){ throw new BannerMissExecption(); } return $banner; } }
<?php /** * Created by PhpStorm. * User: wt271 * Date: 2017/6/10 * Time: 8:47 */ namespace app\api\model; use think\Db; use think\Exception; use think\Model; class Banner extends Model { protected $table = 'banner_item'; public static function getBannerByID($id){ //TODO:根据Banner ID号 获取Banner信息 // $result = Db::table('banner_item')->where('banner_id','=',$id) // ->find(); // return $result; } }
写回答
1回答
-
7七月
2017-06-11
传入id是表的主键,banner_id是外键吧
022017-06-11
相似问题