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

Laravel表关系获取注释->用户名(id)

严言
2023-03-14

我试图显示每个评论块中的用户名。目前,我已经让它显示文章注释和注释主体,但在我的表中,我已经为每个注释分配了用户id。我可以让它显示用户id,但我不确定如何查找分配给该用户id的用户名。

查看:

@foreach($article->comments as $comment)
        {{$comment->user->username}}
              {{$comment->body}}
@endforeach

示范条款:

namespace App;

use Illuminate\Database\Eloquent\Model;

class Articles extends Model
{
    public function comments(){
        return $this->hasMany('App\comments')->orderBy('id', 'DESC');
    }
}

模型注释:

namespace App;

use Illuminate\Database\Eloquent\Model;

class comments extends Model
{
    public function user(){
        return $this->hasOne('App\users');
    }
}

物品管理员:

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;
use App\Articles;
use App\Comments;
use App\Users;


class ArticlesController extends Controller
{
    public function getAllArticles(){
        $results = Articles::orderBy('id', 'DESC')->get();
        return view('index', ['articles' => $results]);
    }
}

错误:

SQLSTATE[42S22]:未找到列:“where子句”中的1054未知列“users.comments\u id”(SQL:select*fromuserswhereuserscomments\u id=16和'u▶"

共有1个答案

端木乐语
2023-03-14

您在注释类中使用了无效关系。

使用belongsTo方法而不是hasOne,如下所示

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class comments extends Model
{
    public function user(){
        return $this->belongsTo('App\users')->withDefault([
            "username"=>null
        ]);
    }
}
 类似资料:
  • 本文向大家介绍Oracle 获取表注释和列注释,包括了Oracle 获取表注释和列注释的使用技巧和注意事项,需要的朋友参考一下 全部表 表的注释 列的注释 相应的还有dba_col_comments,all_col_comments,这两个比user_col_comments多了ower列 以上所述是小编给大家介绍的Oracle 获取表注释和列注释,希望对大家有所帮助,如果大家有任何疑问请给我留言

  • 在Laravel中,我试图显示Auth::user(用户)和部门之间的关系元素。在用户表中,我有id、名称和部门id。在部门表中,我有id和名称。 在用户模型中,我创建 然后,在刀片模板中我尝试 Auth::user()- 但返回null,不显示链接的部门。Null不正确,所有用户都有部门。苏,有什么帮助吗?你们的关系有什么问题?

  • 在用户和发布模型中,我创建了一个简单的关系: 职位模式: 用户模型: 在数据库i have中创建新项,例如posts表中的。在控制器中使用此代码后: 我在posts表中没有用户id信息。例如,posts表中的user_id是,我希望将子查询作为一个全用户表,其中id是1

  • 我被困在这个看似简单的任务上。 我有一个用户,他有很多商店,有很多产品。。 我正在尝试为某个用户获取所有产品。 这是有效的,并返回商店与他们的产品 但是我只需要产品的集合。我尝试了以下方法,但它搞砸了查询 知道我做错了什么吗?非常感谢。

  • 我有一个问题,我无法用文档解决。 我想在两个用户之间创建一个非常简单的对话系统。 我有3个模型和表: 用户id、名称 会话 id 消息 id,user_id,conversation_id,内容 因此,一条消息属于一个用户和一个对话,但我希望对话属于多个用户。 我不知道怎么用桌子做这个。如果我在对话表中创建一个字段,我不能有多个用户。。。

  • 我正在学习Spring Data JPA,在建立这两个表之间的关系时遇到了一些问题: 具有列id、name、product_type_id的产品表 product_type表,列id,名称 一个产品只能有一种类型。一个类型可以与许多产品相关联。 在我的实体类中,我将在哪里使用@OnetoMore和@ManytoOne注解?