【发布时间】:2021-08-28 12:01:11
【问题描述】:
我使用 jeremykenedy/laravel-auth
用户存储在 postgres 中。
Position_info 存储在 mongo 中。
需要使用 user_id == $user->getAttribute('id') 从 mongo 获取文档
在控制器中(UsersManagementController.php)
...
public function show(User $user)
{
$position = Position_info::where('user_id', $user->getAttribute('id'));
echo '<pre>';
echo 'The Position ID is: '. $position->_id;
echo '</pre>';
return view('usersmanagement.show-user', compact('user'))->with('position', $position);;
}
...
位置信息.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
class Position_info extends Eloquent
{
protected $connection = 'mongodb';
protected $collection = 'position_infos';
protected $fillable = [
'user_id', 'position', 'experience', 'additional_info'
];
}
从那里出发的路线
https://github.com/jeremykenedy/laravel-auth/blob/master/routes/web.php
视图上显示的内容
error: Property [_id] does not exist on the Eloquent builder instance.
【问题讨论】:
-
你是直接使用 eloquent 吗,因为我猜 eloquent 不支持 no-sql dbs
-
position_info 使用 Jenssegers\Mongodb\Eloquent\Model 作为 Eloquent 创建
-
在您的问题中写下更多详细信息,例如您正在使用所需输出的完整技术堆栈和当前状态
-
不需要
->get()吗?Position_info::where('user_id', $user->getAttribute('id'))->get();?