Laravel хранит данные из href - PullRequest
0 голосов
/ 28 мая 2018

Я хочу сделать опцию, где вы можете создать элемент из панели навигации, где вы просто нажимаете кнопку в панели навигации, и он создает элемент.Вот мой код

Это клинок navbar

<ul class="dropdown-menu">
      <li><a href="{{ action('InventoryController@store') }}">Create 
Inventory</a></li> 
</ul>

, и это мой метод хранения в контроллере

    public function store(Request $request)
{
    $inventory = new Inventory();
    $inventory->company_id = $request->get('company_id');
    $inventory->save();

    return redirect('inventories')->with('success', 'Inventory has been added');
}

После того, как я нажму на эту кнопку, он перейдет только кстраницы, но новый инвентарь не создан.

Обновление:

Мой маршрут такой:

Route::get('/create-inventory/{id}', 'InventoryController@store')->middleware('auth');

и функция моего магазина выглядит следующим образомсейчас:

    public function store(Request $request, $id)
{
    $inventory = new Inventory();
    $inventory->company_id = $id;
    $inventory->save();

    return redirect('inventories')->with('success', 'Inventory has been added');
}

Это мой инвентарь. php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Inventory extends Model
{
    **protected $fillable = ['company_id'];**
}

Это мой файл миграции базы данных

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateInventoriesTable extends Migration
{
/**
 * Run the migrations.
 *
 * @return void
 */
public function up()
{
    Schema::create('inventories', function (Blueprint $table) {
        $table->increments('id');
        $table->integer('company_id');
        $table->timestamps();
        $table->dateTime('finished_at'); 
    });
}

/**
 * Reverse the migrations.
 *
 * @return void
 */
public function down()
{
    Schema::dropIfExists('inventories');
}

}

ОБНОВЛЕНИЕ 2

Это мой инвентарь.php сейчас

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Inventory extends Model
{
    protected $fillable = ['company_id'];
}

Он все еще не работает.

1 Ответ

0 голосов
/ 28 мая 2018

Я думаю, что проблема может быть в сгенерированной ссылке, возможно, это работает:

 <a href="/create-inventory/{{Auth::user()->company_id]) }}">Create Inventory</a>
...