Php laravel中当前登录用户的数据获取
你好,朋友,我正在尝试获取laravel中当前登录用户的数据,但我正在获取所有用户的数据,我的意思是我有两个表。一个是存储登录用户数据的用户表,另一个是存储registerd用户发布结果的发布表。如何获取当前登录用户发布的数据。发布和用户通过用户id foregion键连接。 这里给出了我的代码 Publication.blade.phpPhp laravel中当前登录用户的数据获取,php,mysql,laravel,Php,Mysql,Laravel,你好,朋友,我正在尝试获取laravel中当前登录用户的数据,但我正在获取所有用户的数据,我的意思是我有两个表。一个是存储登录用户数据的用户表,另一个是存储registerd用户发布结果的发布表。如何获取当前登录用户发布的数据。发布和用户通过用户id foregion键连接。 这里给出了我的代码 Publication.blade.php @extends('layouts.app') @section('content') <div class="container"><
@extends('layouts.app')
@section('content')
<div class="container"><br>
<h1 class="text-success text-center">Your Publications</h1><br>
<table class="table table-bordered">
<tr class="">
<th>Publication Title</th>
<th>Publication Status</th>
<th>Year</th>
<th>More Actions</th>
</tr>
@foreach($data as $value)
<tr>
<td> {{ $value ->title}}</td>
<td>{{ $value ->status}}</td>
<td>{{ $value ->year}}</td>
<td><a href=""><button>Edit</button></a> <a href=""><button>Delete</button></a></td>
</tr>
@endforeach
</table>
<button class="btn btn-info" data-toggle="collapse" data-target="#demo">Add more publications here</button> <button class="btn btn primary"><a href="home">Go Back to Dashboard</a></button><br>
<div id="demo" class="collapse">
<h3 class="text-success text-center">Complete your publication's detail</h3><br>
<div class="col-md-offset-3 col-md-6 m-auto d-block">
<form action="pub" method="post">
<input type="hidden" name="_token" value="{{csrf_token()}}">
<div>
<div class="form-group">
<label>Title </label>
<input type="text" name="title" id="" class="form-control">
</div>
<div class="form-group">
<label>Conference / General </label>
<div class="radio form-control">
<label class="col-md-4"><input type="radio" name="status" value="conf" >Conference</label>
<label class="col-md-4"><input type="radio" name="status" value="general">General</label>
<label><input type="radio" name="status" value="other" >Other</label>
</div>
</div>
<div class="form-group">
<label>Year: </label>
<input type="number" name="year" id="" class="form-control">
</div>
</div>
<div>
<input type="submit" name="submit" value="ADD!" class="btn btn-lg col-md-offset-3 col-md-6 m-auto d-block">
</div>
<input type="hidden" name="_token" value="{{csrf_token()}}">
</div>
</div>
</div><!--end demo-->
@endsection
表users表和publications表都是通过foregion key user_id连接的,但是我无法获取当前登录用户数据的数据。它提供了存储在出版物选项卡中的所有数据。您可以获取登录用户的数据 首先将其包含在控制器的类声明中
use Auth;
然后更改功能show
,如下所示
public function show()
{
//
$user_id = Auth::user()->id;
$data['data'] = DB::table('publications')->where('user_id' ,'=', $user_id)->get();
if(count ($data)>0){
return view('publications',compact('data'));
}
else
{
return view('publications');
}
}
您可以获取登录用户的数据 首先将其包含在控制器的类声明中
use Auth;
然后更改功能show
,如下所示
public function show()
{
//
$user_id = Auth::user()->id;
$data['data'] = DB::table('publications')->where('user_id' ,'=', $user_id)->get();
if(count ($data)>0){
return view('publications',compact('data'));
}
else
{
return view('publications');
}
}
您需要按以下方式更改查询以按用户添加筛选器:
$userId = Auth::user()->id;
$data['data'] = DB::table('publications')->where('user_id', $userId)->get();
您正在使用两个类似的路由,只需删除发送到索引方法的路由。您需要按以下方式更改查询,以按用户添加筛选器:
$userId = Auth::user()->id;
$data['data'] = DB::table('publications')->where('user_id', $userId)->get();
您正在使用两个类似的路由,只需删除发送到索引方法的路由。这可以帮助您,它可以正常工作
public function show()
{
$id = Auth::user()->id;
//
$data['data'] = DB::table('publications')->where('user_id','=', $id)->first();
if(count ($data)>0){
return view('publications',compact('data'))
}
else
{
return view('publications');
}
}
这可以帮助你,它的工作
public function show()
{
$id = Auth::user()->id;
//
$data['data'] = DB::table('publications')->where('user_id','=', $id)->first();
if(count ($data)>0){
return view('publications',compact('data'))
}
else
{
return view('publications');
}
}
对于同一路线
出版物
yes,您有两个操作,一个用于存储数据,另一个用于获取数据noindex
和show
url是相同的。更改为show
或更改为index
对于同一路线publications
yes有两个操作一个用于存储数据,一个用于获取数据noindex
和show
url相同。更改show
或更改index
仍获取所有注册用户出版物的数据更改行返回视图('publications',$data)代码>到返回视图('publications',compact('data')代码>请参见我编辑的answer@IrfanKhan欢迎你可以接受我的答案,并将其设置为解决方案。谢谢。仍在获取所有注册用户出版物的数据更改您的行返回视图('publications',$data)代码>到返回视图('publications',compact('data')代码>请参见我编辑的answer@IrfanKhan欢迎你可以接受我的答案,并将其设置为解决方案。谢谢