【发布时间】:2020-06-17 14:57:02
【问题描述】:
我正在尝试通过从reports 表中传递 id 来从users 表中获取用户的数据
我想显示reason 的名称reported_user 和reported_by 的名称
当我运行dd($report->all()); 时,它会显示:-
array:2 [▼
0 => App\Report {#1057 ▼
#fillable: array:3 [▼
0 => "reported_by"
1 => "reported_user"
2 => "reason"
]
#connection: "sqlite"
#table: "reports"
#primaryKey: "id"
#keyType: "int"
+incrementing: true
#with: []
#withCount: []
#perPage: 15
+exists: true
+wasRecentlyCreated: false
#attributes: array:6 [▶]
#original: array:6 [▶]
#changes: []
#casts: []
#classCastCache: []
#dates: []
#dateFormat: null
#appends: []
#dispatchesEvents: []
#observables: []
#relations: []
#touches: []
+timestamps: true
#hidden: []
#visible: []
#guarded: array:1 [▶]
}
1 => App\Report {#1056 ▶}
]
我也面临此错误:-
此集合实例上不存在属性 [reported_user]。 $reportedBy 也是如此
这是我的控制器
public function reports()
{
$report = Report::all();
$reportedUser = DB::table('users')
->where('id', '=', $report->reported_user)
->get();
$reportedBy = DB::table('users')
->where('id', '=', $report->reported_by)
->get();
return view('admin.report', compact('report'));
}
这是我的报告表:-
public function up()
{
Schema::create('reports', function (Blueprint $table) {
$table->id();
$table->integer('reported_by')->unsigned();
$table->integer('reported_user')->unsigned();
$table->string('reason');
$table->timestamps();
});
}
谁能告诉我这是否是执行此任务的正确方法以及为什么会出现这样的错误。
【问题讨论】:
标签: mysql database laravel eloquent