Php 存储Post和用户id,参考Laravel 6中的用户表
我的帖子和用户模型的关系如下:Php 存储Post和用户id,参考Laravel 6中的用户表,php,eloquent,model,relationship,laravel-6,Php,Eloquent,Model,Relationship,Laravel 6,我的帖子和用户模型的关系如下: user\u id是posts表中引用users表的id的外键 后模型 用户模型 以及具有存储方法的后置控制器: public function store(Request $request){ $this->validate($request, [ 'title' => 'required|max:255', 'desc' => 'required|max:255' ]); $image = null; $files = $r
user\u id
是posts
表中引用users
表的id
的外键
后模型
用户模型
以及具有存储方法的后置控制器
:
public function store(Request $request){
$this->validate($request, [
'title' => 'required|max:255',
'desc' => 'required|max:255'
]);
$image = null;
$files = $request->thumbnail;
$thumb = time().'.'.$files->getClientOriginalExtension();
$request->thumbnail->move(public_path('public'),$thumb);
$image = $thumb;
$post = Posts::create([
'title' => $request->title,
'thumbnail' => $image,
'user_id' => __________
'desc' => $request->desc
]);
return $post->toJson(); }
考虑到这一点,我想建立一种关系:一个用户可以有很多帖子。
那么,如何借助用户
和posts
表之间的关系,获取用户
的id
,以插入posts表中编辑:在上面的控制器中,如何获取用户id值???非常简单 您可以通过url获取id:
localhost:8000/users/{id}
在您的路线中[web.php]
Route::get('/users/{id}', 'UserController@show');
您的控制器:
<?php
namespace App\Http\Controllers;
class UserController extends Controller
{
public function show($id)
{
return User::with('posts')->where('id',$id)->get()
}
不要忘记名称空间
use Illuminate\Support\Facades\Auth;
return User::with('posts')->where('id',$id)->get()对不起,我想我没有提到这一点,我需要获取用户id以存储在posts表中。我编辑了问题'user\u id'=>Auth::user()->id;
<?php
namespace App\Http\Controllers;
class UserController extends Controller
{
public function show($id)
{
return User::with('posts')->where('id',$id)->get()
}
// Get the currently authenticated user...
$user = Auth::user();
// Get the currently authenticated user's ID...
$id = Auth::id();
use Illuminate\Support\Facades\Auth;