I Delete the entire controller and do it again; For a few moments I worked, then started to create the part of the update and it was there where I gave the error again, I've removed everything to see where the problem is, but now nothing works,
<?php
namespace App\Http\Controllers\Admin;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Requests\SaveProveedoresRequest;
use App\Http\Controllers\Controller;
use App\Proveedores;
class ProveedoresController extends Controller
{
public function index()
{
$proveedores = Proveedores::orderBy('name')->paginate(5);
// dd($proveedores);
return view('admin.proveedores.index', compact('proveedores'));
}
public function create()
{
return view('admin.proveedores.create');
}
public function store(SaveProveedoresRequest $request)
{
//return $request->all();
$data = [
'name' => $request->get('name'),
'last_name' => $request->get('last_name'),
'email' => $request->get('email'),
'user' => $request->get('user'),
'active' => $request->has('active') ? 1 : 0,
'address' => $request->get('address'),
'tel' => $request->get('tel'),
];
$proveedores = Proveedores::create($data);
$message = $proveedores ? 'Nuevo proveedor agregado correctamente!' : 'El proveedor NO pudo agregarse!';
return redirect()->route('admin.proveedores.index')->with('message', $message);
}
public function show(Proveedores $proveedores)
{
return $proveedores;
}
public function edit(Proveedores $proveedores)
{
return view('admin.proveedores.edit', compact('proveedores'));
}
public function update(Request $request, Proveedores $proveedores)
{
$this->validate($request, [
'name' => 'required|max:100',
'last_name' => 'required|max:100',
'email' => 'required|email',
'user' => 'required|min:4|max:20',
'address' => 'required|max:100',
'tel' => 'required|min:4|max:20'
]);
$proveedores->name = $request->get('name');
$proveedores->last_name = $request->get('last_name');
$proveedores->email = $request->get('email');
$proveedores->user = $request->get('user');
$proveedores->type = $request->get('type');
$proveedores->address = $request->get('address');
$proveedores->active = $request->has('active') ? 1 : 0;
if($request->get('password') != "") $proveedores->password = $request->get('password');
$updated = $proveedores->save();
$message = $updated ? 'Proveedor actualizado correctamente!' : 'El Proveedor NO pudo actualizarse!';
return redirect()->route('admin.proveedores.index')->with('message', $message);
}
}
saveproveedoresrequests
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'name' => 'required|max:100|unique:name',
'last_name' => 'required|max:100',
'email' => 'required|email',
'user' => 'required|min:4|max:20',
'tel' => 'required|max:30000000|integer',
'address' => 'required|max:100',
];
}
model
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Proveedores extends Model
{
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'proveedores';
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = ['name', 'email', 'tel', 'last_name', 'user', 'active', 'address'];
}
migrations
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateProveedoresTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('proveedores', function (Blueprint $table) {
$table->increments('id');
$table->string('name', 100);
$table->string('last_name', 100);
$table->string('email');
$table->string('user', 50);
$table->boolean('active');
$table->text('address');
$table->Integer('tel');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('proveedores');
}
}
web.php
Route::resource('proveedores', 'ProveedoresController');
Route::get('proveedores', [
'as' => 'admin.proveedores.index',
'uses' => 'ProveedoresController@index'
]);
Route::get('proveedores/create', [
'as' => 'admin.proveedores.create',
'uses' => 'ProveedoresController@create'
]);
Route::get('proveedores/edit/{proveedores}', [
'as' => 'admin.proveedores.edit',
'uses' => 'ProveedoresController@edit'
]);
Route::post('proveedores/store', [
'as' => 'admin.proveedores.store',
'uses' => 'ProveedoresController@store'
]);
Route::delete('proveedores/destroy/{proveedores}', [
'as' => 'admin.proveedores.destroy',
'uses' => 'ProveedoresController@destroy'
]);
Route::put('proveedores/{proveedores}', [
'as' => 'admin.proveedores.update',
'uses' => 'ProveedoresController@update'
]);