php - Laravel 5 获取具有关系和多重关系的用户

标签 php mysql laravel-5.1

下面的数据库

User : id,name,age
Shop : id,user_id,name
Address : id, shop_id, address
Shop Type : id, shop_id, type

一个[用户]有多个[商店],并且[商店]有多个分店,因此它有多个[地址],并且[商店]也有多个[类型],例如酒精,食物,零食,饮料等等。

现在我想获取用户的商店及其所有地址和商店类型。

在我使用的模型中 用户类别

public function shop(){
     return $this->hasMany('App\Shop');
}

商店类别

public function address(){
     return $this->hasMany('App\Address');
}

public function type(){
     return $this->hasMany('App\ShopType');
}

我的控制

public function user($id)
    {
            $user = User::where("id",$id)->with('shop.address')->first();
    if($user){
            return response()->json(
                [
                    'user' => $user,
                ],
                200,
                array(),
                JSON_PRETTY_PRINT
            );
    }else{
            return false;
    }

上面的代码可以获取所有用户的店铺和店铺地址 但我怎样才能获得商店的类型呢?

谢谢

最佳答案

试试这个:

User::where('id', $id)->with('shop.address', 'shop.type')->first();

(最初评论)

关于php - Laravel 5 获取具有关系和多重关系的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32764751/

相关文章:

php - 集合归约递归算法

php - 使用方法在 Laravel Eloquent 中选择特定列

php - 意外的 T_ENCAPSED_AND_WHITESPACE,预期 T_STRING 或 T_VARIABLE 或 T_NUM_STRING 错误

PHP nginx mysql : Fatal error: Call to undefined function mysql_connect() in/var/www-git/www1/api/credentials/mysql. php on line 12

php - 使用 Laravel 将两个模型合并为一个具有预加载关系的分页查询

php - 使用 Laravel DB Builder 时捕获 mysql *警告*(不是异常(exception))?

php - laravel Blade 模板不呈现

php - Spark Laravel 5.4 中未定义的社交名流类

mysql - 错误代码 1046 : No database Selected

mysql - 在 Symfony2 查询生成器中使用多个 ->setParameters