zoukankan      html  css  js  c++  java
  • Laravel 5.6 模型关联 user 表后查询 user 表数据只能获取第一条数据,不知道怎么获取第二条...

    按照开发手册的说法,肯定是指令不够全,附代码图

    file

    如果, tests 是文章表, users 是用户表 test.com/tests/1 是 id 为 1 的文章地址( get 访问)
    假如 TestsController 是控制器 show 是文章详情

    publish function show(Test $test,Request $requset){ $mode=$test::find($requset->id);// 获取 id 为 1 的文章模型 $name=$mode->user->name;// 使用动态属性获得 User 模型,在取到 name 属性 var_dump($mode->user()->get()->toArray());// 可以看看都是什么 }

    会生成相关 sql

    # 获取文章模型
    select * from tests where id=1 limit 1 # 使用文章模型的 user 放法,?是上面查到的 user_id select * from users where id=? limit 1

    所以这个有一个 N+1 的问题,就是当你的文章模型有 N 的时候,你要得到每一个文章作者的名字,就会产生 1 个文章查询和 N 个 用户查询,所以有一个 with 方法可以避免,这个你可以自行研究下

  • 相关阅读:
    JVM底层原理 内存模型+GC垃圾回收
    新Socket与网络小结
    Redis五大数据结构及基本指令用法
    MySql高级汇总-事务,索引,SQL调优,分库分表,读写分离
    笔试错题整理
    设计模式(思路)
    网络编程
    linux
    基础算法--KMP匹配字符串
    基础算法--整数二分
  • 原文地址:https://www.cnblogs.com/lxwphp/p/15453443.html
Copyright © 2011-2022 走看看