首页 > 解决方案 > Laravel 5.5 通过 eloquent 模型获取数据的问题

问题描述

数据库表是:prefix_adminUsers,我在UserAdmin.php中有一个模型,如下所示:

namespace App\Model;

use Illuminate\Database\Eloquent\Model;

class UserAdmin extends Model
{
    protected $table = 'adminUsers';
    public $timestamps = false;
}

当我尝试通过控制器访问相同的内容时,它向我显示错误:

Illuminate\Database\Eloquent\Builder 对象 ( [query:protected] => Illuminate\Database\Query\Builder 对象 ( [connection] => Illuminate\Database\MySqlConnection 对象 ( [pdo:protected] => PDO 对象

我的控制器如下:

use App\Model\UserAdmin;
$userRecord = UserAdmin::where('id', '=', Auth::user()->id);
print_r($userRecord);

标签: laravellaravel-5

解决方案


这不是一个错误,您正在打印雄辩的类Builder,用于构建查询以检索模型数据,但它还没有给您结果,因为您->get()最后错过了。

您的代码应如下所示:

use App\Model\UserAdmin;
$userRecord = UserAdmin::where('id', '=', Auth::user()->id)->get();
print_r($userRecord);

你可以在 Laravel 5.5文档中阅读更多如何检索模型。

由于每个 Eloquent 模型都充当查询构建器,因此您还可以为查询添加约束,然后使用该get方法检索结果


推荐阅读