Laravel 5.2 检索经过身份验证的用户 ID


Laravel 5.2 Retrieve Authenticated User ID

我在使用Laravel 5.2时遇到了一个小问题

我正在尝试检索经过身份验证的用户 ID,但由于某种原因无法正常工作。每次我的数据库中有 0 而不是有效的用户 ID 时......

在我的控制器中,我有使用身份验证,包括在顶部。

我的存储方法如下所示:

public function store(StoreClassifiedRequest $request)
{
    $title = $request->input('title');
    $category_id = $request->input('category_id');
    $description = $request->input('description');
    $price = $request->input('price');
    $condition = $request->input('condition');
    $main_image = $request->file('main_image');
    $location = $request->input('location');
    $email = $request->input('email');
    $phone = $request->input('phone');
    $owner_id = Auth::user()->id;
    ....
    // Create command
    $command = new StoreClassifiedCommand($title, $category_id, $description, $main_image_filename, $price, $condition, $location, $email, $phone, $owner_id);
    $this->dispatch($command);
    return 'Redirect::route('classifieds.index')->with('message', 'Listing Created');
  }

一切似乎都很好,只是插入后由于某种原因 id 始终为 0。我在 Auth::user()->id 上做了一个var_dump,我得到了 int(2)

我将非常感谢任何建议...

StoreClassifiedCommand.php :

<?php
namespace App'Commands;
use App'Commands'Command;
use Illuminate'Contracts'Bus'SelfHandling;
use App'Classified;
class StoreClassifiedCommand extends Command implements SelfHandling {
  public $title;
  public $category_id;
  public $description;
  public $main_image;
  public $price;
  public $condition;
  public $location;
  public $email;
  public $phone;
  public $owner_id;
  // Create a new command instance
  public function __construct($title, $category_id, $description, $main_image, $price, $condition, $location, $email, $phone, $owner_id)
  {
    $this->title = $title;
    $this->category_id = $category_id;
    $this->description = $description;
    $this->main_image = $main_image;
    $this->price = $price;
    $this->condition = $condition;
    $this->location = $location;
    $this->email = $email;
    $this->phone = $phone;
    $this->owner_id = $owner_id;
  }
  //Execute the command.
  public function handle()
  {
    return Classified::create([
      'title' => $this->title,
      'category_id' => $this->category_id,
      'description' => $this->description,
      'main_image' => $this->main_image,
      'price' => $this->price,
      'condition' => $this->condition,
      'location' => $this->location,
      'email' => $this->email,
      'phone' =>$this->phone,
      'owner_id' =>$this->owner_id,
    ]);
  }
}

试试

$request->user()->id;

我不熟悉您提供的代码,但这是一个猜测。

也使用这些。

use Illuminate'Http'Request;
use App'Http'Requests;

为了使用请求对象。

对不起,如果我在这里离球很远。

多亏了@lagbox,问题已经解决了。

我还没有在我的模型中将 $owner_id 设置为易错的。我认为这个话题已经结束了。