آفلاین
user-avatar

ارور در ارسال مقاله

2 سال پیش
توسط reza ataei آپدیت شد
آفلاین
user-avatar
reza ataei ( 10281 تجربه )
2 سال پیش
تخصص : لاراول60%آندروید80%

کسی میتونه علت این ارو رو بگه و باید همه فیلدهای جدول رو nullable کنم؟
General error: 1364 Field 'category_id' doesn't have a default value

بهترین پاسخ انتخاب شده توسط reza ataei
آفلاین
user-avatar
reza ataei
2 سال پیش

juzza666@
یک تیبل باشه که شامل شماره و دسته بندی و توضیحات و عکس و ... باشه

آفلاین
user-avatar
سیدعلی موسوی ( 107573 تجربه )
2 سال پیش
تخصص : سی شارپ و پی اچ پی

سلام بیشتر توضیح بدید متوجه منظورتون نشدم.
چرا همه فیلدهای رو null قرار بدید؟!

آفلاین
user-avatar
reza ataei ( 10281 تجربه )
2 سال پیش
تخصص : لاراول60%آندروید80%

چون وقتی دکمه ارسال را برای ذخیره اطلاعات میزنم ارور SQLSTATE[HY000]: General error: 1364 Field 'category_id' doesn't have a default value میده...اگه category_id رو null کنم فیلد بهدی رو این ارو ر میده

آفلاین
user-avatar
سیدعلی موسوی ( 107573 تجربه )
2 سال پیش
تخصص : سی شارپ و پی اچ پی

خب وقتی ذخیره اطلاعات میزنی میره به کنترلت ، عملیات ذخیره رو انجام میدی تو تیبل مورد نظر؟!
کد روت و کنترلرت رو قرار بدید

آفلاین
user-avatar
reza ataei ( 10281 تجربه )
2 سال پیش
تخصص : لاراول60%آندروید80%

<?php

namespace App\Http\Controllers\Admin;

use App\Http\Requests\Numberrequest;
use App\Number;
use App\User;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class NumberController extends AdminController
{

public function index()
{
    $numbers = Number::latest()->paginate(15);
    return view('Admin.numbers.all', compact('numbers'));
}

public function create()
{
    return view('Admin.numbers.create');
}

public function store(Numberrequest $request)
{

    $imageUrl = $this->uploadImages($request->file('images'));
    auth()->user()->number()->create(array_merge(['images' => $imageUrl], $request->all()));

    return redirect(route('numbers.index'));
}

public function show(Number $number)
{
    //
}

public function edit(Number $number)
{
  //
}

public function update(Request $request, Number $number)
{
    //
}

public function destroy(Number $number)
{
    $number->delete();
    return redirect(route('numbers.index'));
}

}
کنترلر

آفلاین
user-avatar
reza ataei ( 10281 تجربه )
2 سال پیش
تخصص : لاراول60%آندروید80%

<?php

//sunsimkart.com/Admin//

use Illuminate\Support\Facades\Route;

Route::namespace('Admin')->prefix('admin')->group(function () {

$this->get('/panel', 'PanelController@index');
$this->resource('numbers','NumberController');

});

آفلاین
user-avatar
سیدعلی موسوی ( 107573 تجربه )
2 سال پیش
تخصص : سی شارپ و پی اچ پی

اون number() چه فاکشنی تویی مدلت اجرا میکنه؟!

آفلاین
user-avatar
reza ataei ( 10281 تجربه )
2 سال پیش
تخصص : لاراول60%آندروید80%

App\Http\Controllers\Admin\NumberController@index

آفلاین
user-avatar
reza ataei ( 10281 تجربه )
2 سال پیش
تخصص : لاراول60%آندروید80%

با لاراول میکس وphp artisan route:list آدرس دهی میکنم عین آموزش مهندس حسام

آفلاین
user-avatar
reza ataei ( 10281 تجربه )
2 سال پیش
تخصص : لاراول60%آندروید80%

اینم آدرس ریدایرکت هستش http://localhost:8000/admin/numbers

آفلاین
user-avatar
reza ataei ( 10281 تجربه )
2 سال پیش
تخصص : لاراول60%آندروید80%

GET|HEAD | admin/numbers | numbers.index | App\Http\Controllers\Admin\NumberController@index | web |
| | POST | admin/numbers | numbers.store | App\Http\Controllers\Admin\NumberController@store | web |
| | GET|HEAD | admin/numbers/create | numbers.create | App\Http\Controllers\Admin\NumberController@create | web |
| | GET|HEAD | admin/numbers/{number} | numbers.show | App\Http\Controllers\Admin\NumberController@show | web |
| | PUT|PATCH | admin/numbers/{number} | numbers.update | App\Http\Controllers\Admin\NumberController@update | web |
| | DELETE | admin/numbers/{number} | numbers.destroy | App\Http\Controllers\Admin\NumberController@destroy | web |
| | GET|HEAD | admin/numbers/{number}/edit | numbers.edit | App\Http\Controllers\Admin\NumberController@edit | web |
| | GET|HEAD | admin/panel | | App\Http\Controllers\Admin\PanelController@index | web |
| | GET|HEAD | api/user | | Closure | api,auth:api

آفلاین
user-avatar
سیدعلی موسوی ( 107573 تجربه )
2 سال پیش
تخصص : سی شارپ و پی اچ پی

نه دوست عزیز متوجه منظورم نشدی

شما میخوای یک فرم رو تویی تیبل Number تون ذخیره کنید درسته؟!
یا میخوای یک عکس رو تویی تیبل مورد نظرتون ذخیره کنید؟!

کلا سناریتو توضیح بده تا بگم خدمتتون چکار کنید

آفلاین
user-avatar
reza ataei ( 10281 تجربه )
2 سال پیش
تخصص : لاراول60%آندروید80%

اینم جدول

<?php

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

class CreateNumbersTable extends Migration
{
/**

  • Run the migrations.
  • @return void
    */
    public function up()
    {
    Schema::create('numbers', function (Blueprint $table) {
    $table->increments('id');
    $table->integer('user_id')->unsigned();
    $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
    $table->integer('category_id')->unsigned();
    $table->string('title', 12);
    $table->text('body');
    $table->string('price',10);
    $table->string('slug');
    $table->string('condition');
    $table->string('type',15);
    $table->string('city');
    $table->string('goodness');
    $table->integer('viewCount')->default(0);
    $table->string('images');
    $table->timestamps();
    });
    }

    /**

  • Reverse the migrations.
  • @return void
    */
    public function down()
    {
    Schema::dropIfExists('numbers');
    }
    }
آفلاین
user-avatar
reza ataei ( 10281 تجربه )
2 سال پیش
تخصص : لاراول60%آندروید80%

توی تیبل نامبر همه فیلدها هست و اون نامبر شامل عکس هم میشه که توی همون تیبل ذخیره میشه

آفلاین
user-avatar
reza ataei ( 10281 تجربه )
2 سال پیش
تخصص : لاراول60%آندروید80%

juzza666@
یک تیبل باشه که شامل شماره و دسته بندی و توضیحات و عکس و ... باشه

آفلاین
user-avatar
سیدعلی موسوی ( 107573 تجربه )
2 سال پیش
تخصص : سی شارپ و پی اچ پی

تویی مدل fillabel هات رو قرار دادی؟

آفلاین
user-avatar
reza ataei ( 10281 تجربه )
2 سال پیش
تخصص : لاراول60%آندروید80%

بله قرار دادم

آفلاین
user-avatar
سیدعلی موسوی ( 107573 تجربه )
2 سال پیش
تخصص : سی شارپ و پی اچ پی

خب یکاری کن متد store تغییر بده و چک کن و اعلام کن

public function store(Numberrequest $request)
{
    $number = new Number;
    $number->save($request->all());
    return redirect(route('numbers.index'));
}
آفلاین
user-avatar
reza ataei ( 10281 تجربه )
2 سال پیش
تخصص : لاراول60%آندروید80%

الان به user_id گیر داد
SQLSTATE[HY000]: General error: 1364 Field 'user_id' doesn't have a default value (SQL: insert into numbers (slug, updated_at, created_at) values (, 2018-05-25 17:47:45, 2018-05-25 17:47:45))

آفلاین
user-avatar
سیدعلی موسوی ( 107573 تجربه )
2 سال پیش
تخصص : سی شارپ و پی اچ پی

خب user_id رو میخوای برابر کاربر قرار بده.

public function store(Numberrequest $request)
{
    $number = new Number;
    $number->save(auth()->user()->user_id, $request->all());
    return redirect(route('numbers.index'));
}
آفلاین
user-avatar
reza ataei ( 10281 تجربه )
2 سال پیش
تخصص : لاراول60%آندروید80%

Type error: Argument 1 passed to Illuminate\Database\Eloquent\Model::save() must be of the type array, null given, called in C:\xampp\htdocs\mehdisim\app\Http\Controllers\Admin\NumberController.php on line 29

برای ارسال پاسخ باید وارد سایت شوید