首页 > 其他分享 >18. Laravel 模型关系:远程一对一

18. Laravel 模型关系:远程一对一

时间:2023-02-28 13:45:07浏览次数:55  
标签:Laravel Thread 模型 一对一 18 App authorSchool 作者 id

Laravel 模型关系:远程一对一

配套视频地址:https://www.bilibili.com/video/av73028135?p=5

一个帖子属于一个作者,该作者就读一所学校。帖子可通过作者访问作者所在的学校。

简单的说:Thread 模型可以通过 Author 模型访问唯一的 School 模型。


threads: id, title
authors: id, name, thread_id
schools: id, name, author_id
// 一对一指的是:作者对学校

模型

# App\Thread
public function authorSchool()
{
    return $this->hasOneThrough('App\School', 'App\Author');
}
# App\Thread
public function authorSchool()
{
    return $this->hasOneThrough(
        'App\School',
        'App\Author',
        'thread_id', // 作者表外键
        'author_id', // 学校表外键
        'id',        // 帖子本地键
        'id',        // 作者本地键
    );
}

使用

$school = \App\Thread::find(2)->authorSchool;
$threadsWithSchool = \App\Thread::with('authorSchool')->get();

标签:Laravel,Thread,模型,一对一,18,App,authorSchool,作者,id
From: https://www.cnblogs.com/fuqian/p/17163934.html

相关文章

  • 17. Laravel 模型关系:多对多
    Laravel模型关系:多对多配套视频地址:https://www.bilibili.com/video/av73028135?p=4多对多:一个人可以扮演多个角色,一个角色可以被多个人扮演。数据结构#users:id,......
  • 19. Laravel 模型关系:远程一对多
    Laravel模型关系:远程一对多配套视频地址:https://www.bilibili.com/video/av73028135?p=5简单的说:Thread模型可以通过Author模型访问多个的Book模型。表threads......
  • 8. Laravel 视图
    Laravel视图配套视频地址https://www.bilibili.com/video/av70545323?p=8知识点返回视图给视图传递数据模版语法1.返回视图//resources/views/test.blade.p......
  • 7. Laravel 中间件
    Laravel中间件配套视频教程:https://www.bilibili.com/video/av83019817作用过滤http请求。生成中间件的命令phpartisanmake:middlewareShowAge前置与后置中......
  • 9. Laravel 内置 web 认证
    Laravel内置web认证配套视频地址:https://www.bilibili.com/video/av74879198/原理注册:用户注册成功后。在服务器端生成session文件。给用户传递session(文件名......
  • 10. Laravel api 认证
    Laravelapi认证配套视频地址:https://www.bilibili.com/video/av74879198?p=3原理注册:用户注册成功后,随机生成长字符串作为token,原生token返回给用户。哈希后的......
  • 12. Laravel Passport 授权码模式
    LaravelPassport授权码模式配套视频地址:https://www.bilibili.com/video/av74879198?p=7哔哩哔哩提供一个“微信登陆”的链接,用户点击跳转到微信授权服务器。用户......
  • 11. Laravel Passport 密码模式
    LaravelPassport密码模式配套视频地址:https://www.bilibili.com/video/av74879198?p=5准备工作composercreate-project--prefer-distlaravel/laravellaravel6.......
  • oracle报错:ORA-01839: date not valid for month specified(指定月份的日期无效)
    场景日期值存的是10位字符串,如2020-02-01,sql筛选时需要选1年以内的。select*fromt_userwhereto_date(app_date,'yyyy-MM-dd')>sysdate-360查看日志发现报错:ORA-01839......
  • mysql报错 ERROR 1805 (HY000): Column count of mysql.user is wrong. Expected 45,
    ERROR1805(HY000):Columncountofmysql.useriswrong.Expected45,found43.Thetableisprobablycorrupted低版本mysql迁移到高版本出现的用户表错误解决办......