Php 我如何使用与Laravel的关系?
我的数据库stockcomment表如下Php 我如何使用与Laravel的关系?,php,laravel,Php,Laravel,我的数据库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|user_id|stock_id|comment 1 | 10 |
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|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",]
在
StockComment
模型中定义此关系:
public function user()
{
return $this->belongsTo(User::class);
}
public function stockComments()
{
return $this->hasMany(StockComment::class);
}
而用户
模型中的这种关系:
public function user()
{
return $this->belongsTo(User::class);
}
public function stockComments()
{
return $this->hasMany(StockComment::class);
}
假设您有
用户
和股票
模型和用户
,股票
和股票评论
表,您可以从用户模型中设置关系
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
编辑:
如何使用注释访问用户信息
使用查询生成器
:
$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"
}
]
在用户模型上,需要创建hasMany关系
public function stockcomments()
{
return $this->hasMany(StockComment::class);
}
创建后,您将能够通过执行以下操作获取注释
$user->stockcomments;
这将返回一个集合,该集合将允许您迭代您可以定义
User
模型和StockComment
现在在用户模型中
public function stockComments(){
return $this->hasMany(StockComment::class);
}
现在,您可以使用$User->stockComments
这里有一个例子
$user = User::find($id);
$user->stockComments;
希望这对您有所帮助您可以使用连接来实现所需的结果,这是您的更新代码
$result = User::join('stockcomment', 'users.id', '=', 'stockcomment.user_id')
->select('users.id', 'stockcomment.stock_id', 'stockcomment.comment',stockcomment.username)
->get();
例如,stock_id=9034。获取评论和用户信息?@ufuk您必须创建另一个关系无法使用Laravel关系完成吗?İ这有可能吗?是的,你可以在拉维尔找到详细信息