php - 从一张表返回结果

标签 php mysql sql laravel

我有两个表:

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 }}

最佳答案

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');
    }
}

现在您可以在 Controller 中使用如下内容:

$item = Item::with('user')->find(39);
$username = $item->user->username;

关于php - 从一张表返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22923603/

相关文章:

sql - 在联合语句中更改 T-SQL 变量

php - 将两个字符串合二为一并将它们分开以创建更新查询?

mysql - 将 $ 字符附加到 MySQL DB 字段,使长度增加 40 %

php - 我无法弄清楚如何修复我的 mySQL 查询中的错误

php - 将多个复选框插入表中的两列中

java - 查找周围给定经纬度的纬度值(即: location) with specified radius using java program

php - 当我只想更新 1 时更新所有行

php - 如何在 Blade 中的 Laravel 关系函数中传递参数?

php - 验证用户名和密码的最快方法 PHP - MySQL - MySQLi - PDO - 准备好的语句

c# - 通过C#执行多语句MySql