返回顶部
首页 > 问答 > 后端 > laravel 嵌套关联模型如何写
0
已解决

laravel 嵌套关联模型如何写

  • 匿名发布
  • 2023-02-23
  • 发布在 问答/后端
3

a 关联 b b 关联 c

a 和 b 是 1 对多 b 和 C 是 1 对 1

想要拉取 a 的列表里面包含 b 的列表里带着 C 的属性

试过这样写 a->with (‘b.c’)

结果 sql 报错 错误的 sql 是 select * from a where id in (c.id)

最佳答案

天下大力士

2023-02-23 18:29:55

可以参考文档里的嵌套预加载写法:

$books = Book::with('author.contacts')->get();


其他回答4

czs086

2023-02-23

应该将模型文件的关联方法发出来 


czs086

2023-02-23

Model A {
public function getB(){
return $this-hasMany(B::class,"b_id","a_id");
}
}

Model B{
public function getC(){
return $this-hasOne(C::class,"c_id","b_id");
}
}

Model C{

}

A::with("getB.getC")->paginate(10);


可可hk

2023-02-23

 模型 A 中定义
public function b(){
    return $this->hasMany(B::class);
}
 模型 B 中定义
public function c(){
    return $this->hasOne(C::class);
}
控制器
public function getA(){
    rerurn A::with('b'=>function($query){
                $query->with('c');
           })->get();
}


浅笑醉红楼

2023-05-11

Laravel的嵌套关联模型可以通过with方法来实现,具体步骤如下:

  1. 首先在模型中定义好关联关系,例如一个用户有多篇文章,一篇文章属于一个分类,可以在User模型中定义一个articles方法和在Article模型中定义一个category方法。

  2. 在控制器中使用with方法来加载关联模型,例如可以使用User::with("articles.category")来加载用户、用户的文章以及文章所属的分类。这里需要注意,关联模型的方法名需要使用点号.来分隔。

  3. 在视图中可以使用$users变量来获取已经加载好的用户数据,例如可以使用@foreach($users as $user)来遍历每个用户,然后使用$user->articles来获取该用户的所有文章,使用$article->category来获取该文章所属的分类。

这样就可以实现Laravel的嵌套关联模型了,通过with方法可以一次性加载多个关联模型,方便快捷。

相关问题
0

价格

2

回答

1

浏览

匿名发布 2023-05-06提问
teresa003 2023-05-12 最后回答
Laravel是一个基于PHP语言的Web应用程序开发框架,它提供了一系列的工具和服务,帮助开发者构建高效、安全和可维护的Web应用程序。 Laravel框架的特点: MVC架构:Laravel框架采用了MVC架构模式,将应用程序分为模
0

价格

2

回答

3

浏览

匿名发布 2023-02-23提问
浅笑醉红楼 2023-05-11 最后回答
Laravel的嵌套关联模型可以通过with方法来实现,具体步骤如下: 首先在模型中定义好关联关系,例如一个用户有多篇文章,一篇文章属于一个分类,可以在User模型中定义一个articles方法和在Article模型中定义一个categ
0

价格

2

回答

0

浏览

匿名发布 2023-05-06提问
yexiaoman1986 2023-05-12 最后回答
使用Laravel框架的步骤如下: 在本地环境中安装PHP和Composer。 打开终端或命令提示符,使用Composer创建一个新的Laravel项目:composer create-project --prefer-dist lara
0

价格

2

回答

1

浏览

匿名发布 2023-05-05提问
独孤求诗 2023-05-11 最后回答
在 PHP 中进行 Laravel 框架开发需要经过以下步骤: 首先,需要安装 Composer,Composer 是 PHP 中的依赖管理工具,可以用来安装 Laravel 框架及其依赖库。 安装 Laravel 框架,可以使用
0

价格

2

回答

44

浏览

匿名发布 2023-02-23提问
bc8681315 2023-05-11 最后回答
e方法的作用是什么? 在Laravel中,Model是用于操作数据库的核心类。其中,where方法是用于设置查询条件的方法。在Model中重写where方法可以对查询条件进行自定义处理,例如添加额外的查询条件、修改查询条件等。这样可以提高代
相关文章
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作