我有两张桌子:
users
{ id, username }
items
{ id, user_id }
在laravel中,我如何在项目固定链接上正确返回用户名?
例如:
item #39 by JohnSmith
我尝试了以下内容:
$items = DB::table('items')->where('id', '=', 39)->first();
$username DB::table('users')->where('id', '=', $items->user_id)->first();
item #{{ $items->id }} by {{ $username }}
答案 0 :(得分:1)
如果您使用的是Eloquent Models,您只需执行
即可$item = Item::find(39);
$username = $item->user->username;
这当然要求您在用户和项目模型中正确定义关系。
答案 1 :(得分:1)
在models
目录中创建两个模型:
// User Model (app/models/User.php)
class User Extends Eloquent {
public function items()
{
return $this->hasMany('Item');
}
}
// Item Model (app/models/Item.php)
class Item Extends Eloquent {
public function user()
{
return $this->belongsTo('User');
}
}
现在您可以在控制器中使用,如下所示:
$item = Item::with('user')->find(39);
$username = $item->user->username;