我正在尝试在视图中显示收集的数据。但是我在从数据库中获取数据时遇到了问题。
我的数据库建立如下: 用户-> QR码->数据
我正在构建一个仪表板,用户可以在其中找到所有QR码,也可以在其中单击“显示更多信息”。这需要显示收集的数据。
QRcode具有一个“ user_id”以将其连接到用户。
数据具有一个“ qr_id”,可将它们连接到二维码。
数据保留在其中,我不确定如何检索该数据。
代码在这里有效,但是它可以使每个用户都能看到任何人的数据:
withTheme
因此,仅当身份验证ID与保存数据中的qr_id相同时,我才需要显示信息。
qr码的模式
withTheme
已保存数据的模式
$datas = saved::where('qr_id',$id)->get();
qr和保存的数据模型都有关系。因此,它们应该连接在一起。
Schema::create('qrs', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('actualURL');
$table->string('redirectURL');
$table->unsignedInteger('user_id')->nullable();
$table->string('imageLocal');
$table->timestamps();
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
});
也许类似
Schema::create('saveds', function (Blueprint $table) {
$table->bigIncrements('id');
$table->unsignedInteger('qr_id')->nullable();
$table->string('ip')->nullable();
$table->integer('clicks')->default(0);
$table->string('country')->nullable();
$table->string('city')->nullable();
$table->string('province')->nullable();
$table->string('currency')->nullable();
$table->string('browserInfo')->nullable();
$table->string('userOS')->nullable();
$table->string('hostMachine')->nullable();
$table->timestamps();
$table->foreign('qr_id')->references('id')->on('qrs')->onDelete('cascade');
});
应该像我在这篇帖子中看到的那样工作:How to query user with posts in Laravel
但是我不确定如何在我的控制器中实现它。
答案 0 :(得分:0)
由于从关系方法返回的关系充当查询生成器,因此您可以像在其他任何地方一样查询关系。代替:
$datas = saved::where('qr_id',$id)->get();
执行此操作:
$datas = $user->saved()->where('qr_id',$id)->get();