当前位置: 首页 > 知识库问答 >
问题:

我怎样才能用雄辩的ORM获得tag的帖子

汪永春
2023-03-14

我有适当的基于ORM的post和tags表。在数据透视表上分配给post的标记。发帖-

//Model: Post
public function tags()
{
$this->belongsToMany('Tag', 'post_tag', 'post_id', 'tag_id');
}

这是我的数据库:

post
  id

tags
  id

post_tag
  post_id
  tag_id

我想检索所有有特殊标签名称的帖子。

Post::with(数组('tags'=

我还尝试了查询关系,抛出非对象错误。

Post::whereHas('tags', function($q)
{
    $q->where('id', '=', $tag_id);

})->get();

共有1个答案

龚远
2023-03-14

这种关系是双向的

你需要定义你的模型标签为

class Tag{
    public function posts()
    {
         return $this->belongsToMany('Post');
    }
}

然后你可以做

$posts = Tag::find(44)->posts;
 类似资料:
  • 我有一个用户模型和一个学生模型,我已经为它们建立了关系,但是当我尝试 $学生- 我得到这个错误 “正在尝试获取非对象的属性全名” 以下是我的用户模型代码: 这是我的学生模型代码 即使我试图利用这种关系来获取数据,比如 “学生id”= 我得到这个错误 “对未定义方法Illumb\Database\Eloquent\Relations\BelongsTo::id()的BadMethodCallExce

  • 我找了很多,但没有找到任何答案,所以我希望你能帮助我! 我有三个表:post、users和post\U users。Post_users包含两列:user_id和Post_id。 我需要得到一个有口才的用户的所有帖子。有什么想法吗? 非常感谢你! (如果这个问题已经存在,我很抱歉,但我还没有找到它)

  • 在有说服力的ORM上,是否有一种较短的方法在Laravel中插入数据? 目前我正在这样做: 就像你看到的,所有的列都像属性一样命名。 我知道您可以将对象与all()函数和fetch()一起使用。但是我从另一个对象(soap服务器)获取数据。 有没有办法转换这个?也许在模型上?

  • 我有一个问题,在我看来挺简单的,但到目前为止还不可能找到一个简单的解决方案:在我的网站上,每当Android软键盘弹出时,它就会调整窗口大小,缩小内容,而不是仅仅覆盖页面。 前两个是现状,第三个是我想要的。在iOS上是这样工作的。我该怎么做才能让它正常工作呢? 我试着设定身体的大小和位置,但到目前为止,没有运气。我已经看到了一些非常复杂的JS代码片段来解决类似的问题,但是我没有让它们按照我想要的方

  • 我正在编写php代码,对于当前的项目,我正在使用laravel框架(带有雄辩的ORM)。在这个项目中,我创建了两个表:用户和任务。我想在这些表之间创建一个“一对多”的关系。因此,一个用户可以有许多任务。在Tasks类中,我创建了方法所有者(): 但是当我以前得到用户名的时候 我得到这个异常:未定义的属性:illumb\Database\Eloquent\Relations\BelongsTo::$

  • 嗨,我正在学习laravel。我使用雄辩的ORM删除方法,但我得到了不同的结果。不是真的或假的,而是空的。我设置了一个资源路由,在UsersController中有一个销毁方法。 但是我总是得到一个响应{“status”:“0”,“msg”:“failed”},数据库中的记录被删除。 然后我使用dd($res)。它在页面中显示null。 但是从课程中我学习到它返回一个布尔值true或false。