我的数据库stockcomment表如下;
id|user_id|stock_id|comment
1 | 10 | 9034 |RC MONSTER CAR
2 | 1 | 9034 |very cool car
我的数据库用户表如下;
id |user_name |
1 | Ufuk ÇAĞLAR |
10 | Mariana Atencio |
我如何相互联系。
如何使用评论访问用户信息。请帮帮我。
我想做输出:
[{"id":1,"user _id":1,"stock_id":9034,"comment":RC MONSTER CAR,"user_name":"Ufuk ÇAĞLAR",
"id":2,"user _id":10,"stock_id":9034,"comment":VERY COOL CAR,"user_name":"MARIANA ATANCIO",]
答案 0 :(得分:3)
假设您拥有User
和Stock
模型以及users
,stocks
和stockcomment
表格,您可以设置用户模型的关系
public function stock() {
return $this->belongsTo(Stock::class)->withPivot('comment');
}
然后在你的股票模型
public function users() {
return $this->hasMany(User::class)->withPivot('comment');
}
然后你打电话给他们:
$stock = User::find($id)->stock; //Stock from this user
//or
$users = Stock::find($id)->users; //Users from this stock
修改强>
如何使用评论访问用户信息。请帮帮我。
我想做输出:
使用Query Builder
:
$data = DB::table('stockcomment')->where('stock_id', 9034)->get();
或者如果您拥有StockComment
模型并且与Stock
建立了关系,则可以执行以下操作:
$data = StockComment::where('stock_id', 9034)->get();
$data
将是:
[
{
"id":1,"user_id":1,"stock_id":9034,"comment":RC MONSTER CAR,"user_name":"Ufuk ÇAĞLAR"
},
{
"id":2,"user_id":10,"stock_id":9034,"comment":VERY COOL CAR,"user_name":"MARIANA ATANCIO"
}
]
答案 1 :(得分:3)
您可以定义User
模型和StockComment
现在在用户模型中。
public function stockComments(){
return $this->hasMany(StockComment::class);
}
现在,您可以使用$user->stockComments
这是一个例子
$user = User::find($id);
$user->stockComments;
希望这有帮助
答案 2 :(得分:1)
在StockComment
模型中定义此关系:
public function user()
{
return $this->belongsTo(User::class);
}
User
模型中的这种关系:
public function stockComments()
{
return $this->hasMany(StockComment::class);
}
答案 3 :(得分:1)
在用户模型上,您需要创建一个hasMany关系。
public function stockcomments()
{
return $this->hasMany(StockComment::class);
}
创建后,您就可以通过
获取评论了$user->stockcomments;
这将返回一个允许您迭代的集合
答案 4 :(得分:0)
您可以使用联接来实现期望结果,这是您更新的代码
$result = User::join('stockcomment', 'users.id', '=', 'stockcomment.user_id')
->select('users.id', 'stockcomment.stock_id', 'stockcomment.comment',stockcomment.username)
->get();