如何在Laravel中显示广告及其评论

yizd12fk  于 2023-03-04  发布在  其他
关注(0)|答案(2)|浏览(173)

我面临的问题,而我想显示我的广告和它的意见在网页。刀片只
我的页面***show.blade.php***其中包含对象和描述的 ad 一个我想显示甚至在这个页面的评论也

<strong> Object:</strong>                 {{$user->object}}<br>    
       <strong> Description : </strong>    {{$user->description}}<br>

这是我的***AdsController.php***

public function show($id)
{
   $user=Ad::find($id);
   
    return view('show',['user'=>$user]);
}

我可以做些什么来显示此页面中的评论?

31moq8wy

31moq8wy1#

创建hasMany与注解的关系,并按如下方式检索:

function getComments() {
  return $this->hasMany(Comments::class, 'post_id', 'post_id');
}

并使用以下代码检索所有注解:

public function show($id)
{
 $user=Ad::where('id', $id)->with('getComments')->first();
 return view('show',['user'=>$user]);
}

它会给予你所有的意见沿着您的职位。请改变您的pk列和fk列的hasmany功能,根据您的结构。

ego6inou

ego6inou2#

如果广告和评论在不同的表上,你可以使用查询生成器来连接表,并添加1个字段在评论表调用“ad_id”的外键。例如

广告表

身份证|姓名
1个|广告第一
第二章|广告秒

备注表

身份证|姓名|广告标识
1个|乔恩|1 2|母鹿|第二章

**注意:**你必须在注解迁移时设置ad_id为外键.也许代码会是这样

Schema::create('comments', function (Blueprint $table) {
        $table->increments('id');
        $table->string('project_name');
        $table->integer('ad_id')->unsigned();
        $table->foreign('ad_id')->references('id')->on('ads');
        $table->timestamps();
    });

查询生成器是这样的。

$project = DB::table('ads')
                ->join('comments','ads.id','=','comments.ad_id')
                ->where('comments.ad_id','=','ads.id')
                ->first();

希望能帮到你

相关问题