【发布时间】:2020-08-12 10:17:45
【问题描述】:
我正在编写一个 API,我的主题和 cmets 与之相关。我的愿望是显示所有主题,同时也显示属于这些主题的 cmets。我使用 hasMany 选项建立了关系,但无法显示数据。
评论表
后模型
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Posts extends Model
{
protected $table = 'posts';
protected $fillable = [
'post_id',
'user_id'
];
public function user(){
return $this->belongsTo('App\Models\Users');
}
public function comment()
{
return $this->hasMany('App\Models\Comments', 'post_id', 'id');
}
}
评论模型
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Comments extends Model
{
protected $fillable = [
'user_id',
'post_id',
'description'
];
public function user()
{
return $this->belongsTo('App\Models\Users', 'user_id', 'id');
}
public function post()
{
return $this->belongsTo('App\Models\Posts', 'post_id', 'id');
}
}
例如,当我拍摄下面所有的主题时,我想要带有用户 ID 的 cmets。我该如何自定义?
{
"id": 1,
"user_id": 10,
"image": "https://lorempixel.com/800/400/cats/WhaleDevops/?43757",
"description": "Et quia enim distinctio non qui laudantium voluptatem. Cumque minus cum pariatur necessitatibus. Repellat qui provident voluptatum ut. Et sapiente eaque eum ut. Repudiandae eveniet a harum ea totam consectetur. Facere facilis sunt et consequuntur sapiente. A aspernatur placeat tenetur et. Omnis quasi sunt nostrum et velit sint quia. Velit temporibus ut aut ea in repudiandae.",
"created_at": "1999-04-11T17:37:42.000000Z",
"updated_at": "2020-08-08T10:41:28.000000Z"
},
{
"id": 2,
"user_id": 2,
"image": "https://lorempixel.com/800/400/cats/WhaleDevops/?53905",
"description": "Quasi ab recusandae molestiae pariatur et ut. Harum dolorum illo aspernatur fugit sequi aut. Modi quasi voluptas ad maxime ducimus quia molestiae maiores. Pariatur quam quam officia expedita. Alias quas aliquid et.",
"created_at": "1972-03-17T04:01:26.000000Z",
"updated_at": "2020-08-08T10:41:28.000000Z"
},
【问题讨论】:
-
您的第一个表是帖子的表还是只是一个错误?我的第一件事是评论表,第二个表可能是帖子表。