雅安论坛

标题: laravel学习记录 [打印本页]

作者: 未命名    时间: 2022-9-30 19:51
标题: laravel学习记录
具体解释 $当前模型->模型关系->字段

有文章模型Article,表名articles,有文章id字段,有分类id字段 category_id,

查询文章123:
$article = Article::where(['id'->'123'])->first();

分类id字段获取:
$article->category_id

有模型Category,表名categories,有分类id字段,有分类名称字段name

文章表与分类表数据关联,就靠文章表里的category_id和分类表里的id

在文章表里定义模型关系,1对1

public funcion category()
{
        $this->hasOne(Category::class, 'id', 'category_id');
}


id:                        分类表id字段
category_id:        文章表category_id字段

定义关系之后,$article就可以直接获取与之关联的表的数据。

$article->category->name;

category就是上面定义的public funcion category(){……}

...这个思路理解之后,文章表想与哪个表关联,就在文章表里加上那个表的id字段,比如user_id,关联作者信息,文章模型里加入

public funcion author()
{
        $this->hasOne(User::class, 'id', 'user_id');
}

就可以使用

$article->author->name 获取作者用户名。




欢迎光临 雅安论坛 (https://www.yaanbbs.net/) Powered by Discuz! X3.4