首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel 5.8显示另一个表的数据,如join

Laravel 5.8显示另一个表的数据,如join
EN

Stack Overflow用户
提问于 2020-02-07 06:12:48
回答 1查看 42关注 0票数 0

我需要如何在另一个表中显示数据,如MySQL join或类似的东西

MySQL示例

我的代码

模型用法

代码语言:javascript
复制
class Usuario extends Model {
    protected $table = 'usuarios';
    protected $primaryKey = 'idusuarios';
    protected $filliable = [
        'cedula', 'nombre', 'tele1', 'tele2', 'correo', 'direccion',
        'user_name', 'user_pass', 'fecha_ingreso', 'usu_idrol'
    ];

    public function Usuario() {
        return $this->hasOne('app\Roles','idrole','usu_idrol','desc_rol');
    }

    const CREATED_AT = NULL;
    const UPDATED_AT = NULL;
}

模型角色

代码语言:javascript
复制
class Roles extends Model {
    protected $table ='roles';
    protected $primarykey  = 'idrole';
    protected $filliable = ['desc_rol'];

    public function Roles() {
        return $this->belongsTo('app\Usuario', 'usu_idrol', 'idrole');
    }
}

控制器用法

代码语言:javascript
复制
public function index(Request $request) {
    if (!$request->ajax()) return redirect('/');
    $usuarios = Usuario::all();
    return $usuarios;
}

查看用法

这就是我需要的

EN

回答 1

Stack Overflow用户

发布于 2020-10-13 16:41:41

在将数据返回到vue实例的控制器中尝试此操作

代码语言:javascript
复制
//get all the users from the database (in your controller)
//you need to create a new array so as to easily map the role in the returned results
return Usuario::with('Usuario')->get()->map(function($role) {
            return [
                'field1' => $role->field1,
                'field2' => $role->field2,
                'field3' => $role->field3,
                'field4' => $role->field4,
                'field5' => $role->field5,
                'rol' => $role->Usuario->desc_role
            ];
        });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60104330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档