Reputation: 21
I am stuck on the update method.
Here is my code.
The edit.blade.php:
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<form method="POST" id="updateCategory">
<input type="hidden" name="category_id" id="category_id" value="{{ $raw_material_category->id }}">
<input type="hidden" name="user_id" value="{{ Auth::user()->id }}">
<input type="hidden" name="_method" value="PUT">
<div class="form-group">
<label for="category_name">Category name:</label>
<input type="text" name="category_name" class="form-control" id="category_name" value="{{ $raw_material_category->category_name }}">
</div>
<input type="submit" id="addCategory" class="btn btn-success pull-right">
</form>
The Script:
<script>
$("#updateCategory").on("submit", function (e) {
e.preventDefault();
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
type: "POST",
url: "/categories/" + $("#category_id").val(),
data: $(this).serialize(),
success: function (data) {
console.log(data);
$('#errorDiv').css({"display": "none"});
},
error: function (xhr, ajaxOptions, thrownError) {
}
});
});
</script>
The Controller:
public function update(Request $request, $id) {
$raw_material_category = raw_material_category::findorfail($id);
$raw_material_category::update($request->all());}
And here is the error I am getting:
ErrorException in categoriesController.php line 73: Non-static method Illuminate\Database\Eloquent\Model::update() should not be called statically
Upvotes: 1
Views: 3137
Reputation: 9455
$raw_material_category is a variable not a class name
Replace $raw_material_category::update($request->all());
with $raw_material_category->update($request->all());
Upvotes: 2