#php #laravel
#php #laravel
Вопрос:
Что мне нужно делать ??? Я не понимаю ошибку этого типа … пожалуйста, объясните в своем ответе
use AppProduct;
use Cart;
use IlluminateHttpRequest;
class CartController extends Controller
{
public function addToCart(Request $request){
$product=Product::find($request-&&t;id);
Cart::add([
'id' =&&t;$request-&&t;id,
'name' =&&t;$product-&&t;product_name,
'price' =&&t;$product-&&t;product_price,
'qty' =&&t;$request-&&t;qty,
]);
return $request-&&t;all();
}
public function showCart(){
return view('front-end.cart.show-cart');
}
Вот мой контроллер…Я не понимаю эту ошибку
Мой файл маршрута web.php является here……………Do Мне нужно что-то изменить здесь???
Route::post('/cart/add',[
'uses' =&&t;'CartController@addToCart',
'as' =&&t;'add-to-cart',
]);
Route::&et('/cart/show',[
'uses' =&&t;'CartController@showCart',
'as' =&&t;'show-cart',
]);
вот мой файл миграции………………………. Я думаю, что проблема здесь не в этом
use IlluminateDatabaseMi&rationsMi&ration;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateSupportFacadesSchema;
class CreateProductsTable extends Mi&ration
{
/**
* Run the mi&rations.
*
* @return void
*/
public function up()
{
Schema::create('products', function (Blueprint $table) {
$table-&&t;id();
$table-&&t;inte&er('cate&ory_id');
$table-&&t;inte&er('brand_id');
$table-&&t;strin&('product_name');
$table-&&t;float('product_price',10,2);
$table-&&t;inte&er('product_quantity');
$table-&&t;text('short_description');
$table-&&t;text('lon&_description');
$table-&&t;text('product_ima&e');
$table-&&t;tinyInte&er('publication_status');
$table-&&t;timestamps();
});
}
/**
* Reverse the mi&rations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('products');
}
}
вот моя форма…Форма, в которой я извлекаю идентификатор
{{Form::open(['route'=&&t;'add-to-cart','method'=&&t;'POST'])}}
<div class="color-quality"&&t;
<h6&&t;Quality :</h6&&t;
<div class="quantity"&&t;
<input type="number" class="form-control" name="qty" value="1" min="1"&&t;
<input type="hidden" name="Pid" value="{{$product-&&t;id}}"&&t;
</div&&t;
<!--quantity--&&t;
</div&&t;
<div class="women"&&t;
<span class="size"&&t;XL / XXL / S </span&&t;
<input type="submit" name="btn" value="Add to Cart" class="my-cart-b item_add"&&t;
</div&&t;
{{Form::close()}}
Комментарии:
1. Значение объекта $product равно нулю. Похоже, что оно не существует в DB.
2. сбросьте переменную $product и проверьте. эта ошибка устранена
3. Проверьте, правильно ли вы отправляете идентификатор в своем запросе. Используйте dd($request-&&t;id); в вашей первой строке функции AddToCart
4. Ziad Adeela написано null … но оно существует
5. Амир Хуссейн, оно говорит null… что это значит???
Ответ №1:
Вы назвали свой ввод Pid
и пытаетесь получить доступ id
скорее, что определенно равно null. Попробуйте следующее
$product = Product::find($request-&&t;Pid);