请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

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

https://img1.sycdn.imooc.com/szimg//593cacc500014d4908500616.jpg

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

https://img1.sycdn.imooc.com/szimg//593cad3c000171f607960314.jpg

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?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;
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?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
<br>


正在回答 回答被采纳积分+3

插入代码

1回答

7七月 2017-06-11 12:27:44

传入id是表的主键,banner_id是外键吧

0 回复 有任何疑惑可以回复我~
  • 提问者 无无法师 #1
    没有设置主键外键,就一张bannerItem表呀
    回复 有任何疑惑可以回复我~ 2017-06-11 15:09:45
  • 7七月 回复 提问者 无无法师 #2
    传入的id是对应的是一章表的主键id,banner_id怎么会和id是一个字段呢?
    回复 有任何疑惑可以回复我~ 2017-06-11 15:17:49
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信