基于laravel belongsTo使用详解

前提:订单表(order)和用户表(user)

表结构:

order

CREATE TABLE `order` (
`id` char(16) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '订单号',
`user_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '用户id',
UNIQUE KEY `id` (`id`),
 KEY `user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='订单表';

user

CREATE TABLE `user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户id',
PRIMARY KEY (`id`),
`username` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '姓名',
 `password` char(60) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '密码',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10009866 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户表'

**表关系:**user->order :一对多

需求:在查看订单详情时显示下单用户

实现:

1、当order表中外键为user_id user表主键为id时

public function user()
{
  return $this->belongsTo('Models\User');
}

2、当order表中外键为user_id user表主键为uid

public function user()
{
  return $this->belongsTo('Models\User', 'user_id', 'uid');
}

返回结果:

{
 "id": 17021423166486,
 "user_id": 10000003,
 "user": {
  "id": 10000003,
  "username": "",
 }
}

以上这篇基于laravel belongsTo使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 浅谈laravel5.5 belongsToMany自身的正确用法

    场景 用户之间相互关注,记录这种关系的是followers表(follower_id 发起关注的人 followed_id被关注的人) 现在的多对多的关系就不再是传统的三张表的关系了, 这种情况 多对多关系应该怎么声明呢? 分析 laravel或者其他框架多对多的关系 一般都是由Model1 Model2 Model1_Model2(声明两者关系的表)来组成, 但是上面的场景 却是只有两张表,这时候就要研究下官方文档了; 当然是支持的 参考资料 https://laravel.com/docs/

  • 基于laravel belongsTo使用详解

    前提:订单表(order)和用户表(user) 表结构: order CREATE TABLE `order` ( `id` char(16) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '订单号', `user_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '用户id', UNIQUE KEY `id` (`id`), KEY `user_id` (`user_id`) ) ENGINE

  • 基于hashlib模块--加密(详解)

    用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法 import hashlib m = hashlib.md5() m.update(b"hello") print(m.hexdigest()) m.update(b"It's me") print(m.hexdigest()) m.update(b"It's been a long time sin

  • 基于js 本地存储(详解)

    在客户端运行的JS是不能操作用户电脑磁盘中的文件的(保护客户端运行的安全) 1.JS中的本地存储: 使用JS向浏览器的某一个位置中存储一些内容,浏览器即使关闭了,存储的信息也不会销毁,当在重新打开浏览器的时候我们依然可以获取到上一次存储的信息 本地存储的方案: 传统: cookie:把信息存储到客户端的浏览器中(但是项目服务器端也是可以获取COOKIE的) session:把信息存储到服务器上的(服务器存储) HTML5:webStorage localStorage:永久存储在客户端的本地 s

  • 基于php编程规范(详解)

    今天写这个是为了 提醒自己 编程过程 不仅要有逻辑 思想 还有要规范 代码 这样可读性 1.PHP 编程规范与编码习惯最主要的有以下几点: 1 文件说明 2 function 函数体说明 3 代码缩进 4 if省略 5 变量规范 6 命名规范 7 十行一注释 8 注释风格 9 开放关闭原则 2.文件说明 个人代码 -规范如下: <? /* +---------------------------------------------------------------------- + Title

  • 基于python爬虫数据处理(详解)

    一.首先理解下面几个函数 设置变量 length()函数 char_length() replace() 函数 max() 函数 1.1.设置变量 set @变量名=值 set @address='中国-山东省-聊城市-莘县'; select @address 1.2 .length()函数 char_length()函数区别 select length('a') ,char_length('a') ,length('中') ,char_length('中') 1.3. replace() 函数

  • 基于字符串常用API(详解)

    API(Application Programming Interface):应用程序编程接口 使用Scanner 获取键盘录入的字符串 next() ; 在遇到空格的时候 会判定为当前的输入结束 空格之后的内容会收不到 nextLine(); 可以避免被空格中断 , 但是在于接收数字一起使用的时候会被干扰 创建字符串对象 public String(String original) ---> 通过字符串创建一个字符串对象 public String(char[] value) -=--> 通

  • 基于Oracle闪回详解(必看篇)

    Oracle 9i 开始支持闪回,Oracle10g开始全面支持闪回功能,Oracle11g有所完善,为大家快速的恢复数据,查询历史数据提供了很大的便捷方法. 本文主要对Oracle常用闪回使用做些详细介绍,其中对于不常用的事务和版本闪回,这里就不做介绍 一.Oracle闪回概述 闪回级别 闪回场景 闪回技术 对象依赖 影响数据 数据库 表截断.逻辑错误.其他多表意外事件 闪回DATABASE 闪回日志.undo 是 DROP 删除表 闪回DROP 回收站(recyclebin) 是 表 更新.

  • windows第四层负载均衡_基于NLB负载均衡详解

    上面有一篇文章说windows第七层负载均衡,这次讲讲第四层负载均衡 TCP/IP协议族,第七层是应用层,第四层是传输层.第四层负载均衡主要通过IP进行转化. 一些优秀的第四层负载均衡软件,速度可以接近硬件负载均衡的效率.当然,论速度还是人家硬件的快一点点,毕竟人家那价格摆在那里,一台F5,十几万,几十万,上百万不等. 第四层重与第七层相比:优秀就是速度快,能感知集群服务器的状态.缺点就是不能感知应用层软件的状态,比如IIS站点挂掉,但是如果服务器没有挂掉,转化流量用继续流入该服务器. 现在很多

  • 基于form-data请求格式详解

    最近一直都比较忙,坚持月月更新博客的计划不得中止了,今天抽出点时间来说说最近项目中遇到的一个问题,有关request post请求格式中的multipart/form-data格式. 引言 最近在参与一个项目过程中遇到一个问题,相信大部分人都遇到过: 在后端与前端约定好application/json格式传递数据时,因为后台是go强类型语言,在定义api接口时,某些字段要求是整型类型,但是对于前端来说输入框或者从url中的search取到的参数都是字符串,不得不进行前端类型转换. 咋一看,对于接

  • 基于matplotlib xticks用法详解

    这个坐标轴变名用法,我真服气了,我在网上看大家写的教程,看的头晕,也没看懂他们写xtick到底怎么用的,最后找到官方教程,看了一个例子,over xticks到底有什么用,其实就是想把坐标轴变成自己想要的样子 import matplotlib.pyplot as plt x = [1, 2, 3, 4] y = [1, 4, 9, 6] labels = ['Frogs', 'Hogs', 'Bogs', 'Slogs'] plt.plot(x, y) # You can specify a

随机推荐