# Laravel5.8 模型内联一对一查询数据

Laravel5.8 模型内联一对一查询数据

举例,有user(用户)表和role(角色)两张表,

user表在这里插入图片描述

role表

在这里插入图片描述

既然是模型内联查询,当然要有User表的MODEL类文件和Role表的Role的类文件,MODEL类文件里面的功能根据自己需要添加,根据关系可以知道,user表关联role表,所以查询的数据主要在User类文件,所以我只展示了user类文件。用模型内联查询的方法一次查出user表的角色名,优势:比常规语句要简短

<?php

namespace App\Admin;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    //要定义table值,不定义的话默认找users表
		//定义$timestamps属性为false,不设置则默认操作表中的create at 和update at字段,我们表中没有这个字段所以设置false
		public $timestamps = false;
		
        //关联role表
        public function role()
        {
             return  $this->hasOne('App\Admin\Role','id','role'); //第二个参数id为role表的id字段,第三个参数role对应user表中的role;这里TP5可以加个blind属性查询只需要的字段名,不用全部查询。

        }
		public function  pageJson($tol,$limit)
        {
            return $this ->with('role')->orderBy('id','desc')->offset($tol)->limit($limit)->get();
        }
	

得到的role字段还不能直接使用,role返回的是数组。

在这里插入图片描述
前端修改下,最后的数据查询成功,如图在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值