传入id=3,得到id=1的数据,这是怎么回事?

来源:2-5 三端命名与运行ThinkPHP 5

无无法师

2017-06-11

控制器中的banner.php,打断点测试的结果如下图,即使是数据库里面也是按banner_id为1,2,3,4排序的。

http://szimg.mukewang.com/593cacc500014d4908500616.jpg

模型中的banner.php只指定表为banner_item

http://szimg.mukewang.com/593cad3c000171f607960314.jpg

<?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是外键吧

0
2
7七月
回复
无无法师
传入的id是对应的是一章表的主键id,banner_id怎么会和id是一个字段呢?
2017-06-11
共2条回复

微信小程序电商实战 从前端到后端的全流程精讲

全栈工程师/前后端都讲/架构思想/ RESTFul API、MySQL表设计

4805 学习 · 4382 问题

查看课程