在Laravel中,可以通过使用Eloquent关联来实现基于Auth用户显示另一个表中的数据。以下是一种实现方法:
php artisan make:migration add_user_id_to_profiles --table=profiles
在生成的迁移文件中,添加以下代码:
public function up()
{
Schema::table('profiles', function (Blueprint $table) {
$table->unsignedBigInteger('user_id')->after('id');
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
});
}
public function down()
{
Schema::table('profiles', function (Blueprint $table) {
$table->dropForeign(['user_id']);
$table->dropColumn('user_id');
});
}
然后运行迁移命令:
php artisan migrate
public function profile()
{
return $this->hasOne(Profile::class);
}
public function user()
{
return $this->belongsTo(User::class);
}
use Illuminate\Support\Facades\Auth;
public function index()
{
$user = Auth::user();
$profile = $user->profile;
// 可以访问$profile中的数据
// 例如:$profile->name, $profile->email等
return view('profile.index', compact('profile'));
}
在视图中,可以这样访问相关数据:
{{ $profile->name }}
{{ $profile->email }}
这样就可以在Laravel中基于Auth用户显示另一个表中的数据了。
对于腾讯云相关产品和产品介绍链接地址,可以根据具体需求选择适合的产品,例如:
请注意,以上仅为示例,具体的产品选择应根据实际需求和项目要求进行评估和决策。
领取专属 10元无门槛券
手把手带您无忧上云