Davood
5 سال پیش توسط Davood مطرح شد
22 پاسخ

ارور در لاراول هنگام insert

سلام
موقع درج اطلاعات در تیبل با این ارور در لاراول مواجه میشم اشکال از کجاست

Illuminate \ Database \ QueryException (۱۰۴۵)
SQLSTATE[HY۰۰۰] [۱۰۴۵] Access denied for user 'homestead'@'localhost' (using password: YES) (SQL: insert into `articles` (`user_id`, `title`, `slug`, `text`, `author`, `updated_at`, `created_at`) values (۱, مقاله شماره یک, ?, لورم ایپسوم یا طرح‌نما (به انگلیسی: Lorem ipsum) به متنی آزمایشی و بی‌معنی در صنعت چاپ، صفحه‌آرایی و طراحی گرافیک گفته می‌شود. طراح گرافیک از این متن به عنوان عنصری از ترکیب بندی برای پر کردن صفحه و ارایه اولیه شکل ظاهری و کلی طرح سفارش گرفته شده استفاده می نماید، تا از نظر گرافیکی نشانگر چگونگی نوع و اندازه فونت و ظاهر متن باشد. معمولا طراحان گرافیک برای صفحه‌آرایی، نخست از متن‌های آزمایشی و بی‌معنی استفاده می‌کنند تا صرفا به مشتری یا صاحب کار خود نشان دهند که صفحه طراحی یا صفحه بندی شده بعد از اینکه متن در آن قرار گیرد چگونه به نظر می‌رسد و قلم‌ها و اندازه‌بندی‌ها چگونه در نظر گرفته شده‌است. از آنجایی که طراحان عموما نویسنده متن نیستند و وظیفه رعایت حق تکثیر متون را ندارند و در همان حال کار آنها به نوعی وابسته به متن می‌باشد آنها با استفاده از محتویات ساختگی، صفحه گرافیکی خود را صفحه‌آرایی می‌کنند تا مرحله طراحی و صفحه‌بندی را به پایان برند., داود فردعباسی, ۲۰۱۹-۰۸-۲۰ ۱۸:۳۷:۳۵, ۲۰۱۹-۰۸-۲۰ ۱۸:۳۷:۳۵))
Previous exceptions
SQLSTATE[HY۰۰۰] [۱۰۴۵] Access denied for user 'homestead'@'localhost' (using password: YES) (۱۰۴۵)

اتصال دیتابیس هم در .env انجام شده


ثبت پرسش جدید
Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
1

سلام
@dfardabasi

اگر این دیتابیس روی سرور هست دسترسی های لازم رو بهش بدید .سطح دسترسی برای Insert نداره!
اگر روی لوکاله که یوزر پس رو در فایل env باید درست وارد کرده باشید


Davood
تخصص : PHP - Laravel
@dfardabasi 5 سال پیش مطرح شد
0

@Alimotreb

طبق آموزش راکت دارم میرم جلو

دیتابیس meetlaravel
یوزر : root
پسورد :

به همون شکلی که میگن انجام میدم ولی کار نمیکنه


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
1

سلام
@dfardabasi

ایراد از سمت دیتابیستون هست دیگه
دیتابیش شما یوزر پس میخواد و یوزر پسی که به فایل env دادید رو نمیتونه بهش کانکت شه

این مورد رو بررسی کنیدش
ببینید شاید اسپیسی چیزی افتاده باشه ،


Davood
تخصص : PHP - Laravel
@dfardabasi 5 سال پیش مطرح شد
0

@Alimotreb

آخه اگر ایراد از user و pass هست چطوری دستور migrate کار میکنه و تیبل هام ساخته میشه

php artisan migrate

تیبل هامو پاک کردم دوباره با همین دستور ساختم اگر ایراد داشت کانکشنم نباید تیبل ها ایجاد میشد


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
1

فایل
.env رو میزارید کدش رو قسمت دیتابیس رو
@dfardabasi


Davood
تخصص : PHP - Laravel
@dfardabasi 5 سال پیش مطرح شد
0

@Alimotreb

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=meetlaravel
DB_USERNAME=root
DB_PASSWORD=

TEFO
تخصص : لاراول
@tefo.ha27 5 سال پیش مطرح شد
1

اگه دستور php artisan serve رو زدین با کنترل + c لغوش کنین و دوباره دستور رو بزنین


Davood
تخصص : PHP - Laravel
@dfardabasi 5 سال پیش مطرح شد
0

@tefo.ha27
همین کاری که فرمودید انجام دادم مشکل هست هنوز
امکان داره مشکل از xampp باشه؟؟؟؟


TEFO
تخصص : لاراول
@tefo.ha27 5 سال پیش مطرح شد
0

@dfardabasi اول زمپ رو ریستارت کنین اگه نشد یه دومین مجازی بسازین


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
0

سلام
دیتابیسی هم که ساختید همین هست : meetlaravel ؟

آپاچی و mysql رو ریستارت کنید ببینید حل میشه یا خیر


Davood
تخصص : PHP - Laravel
@dfardabasi 5 سال پیش مطرح شد
0

@Alimotreb
بله meetlaravel هست
آپاچی و مای اسکیوال رو هم ریست کردم ولی هنوزم همونه :(


TEFO
تخصص : لاراول
@tefo.ha27 5 سال پیش مطرح شد
0

با دستور php artisan serve --port=9000 و سپس توی url به جای 8000 بنویسین 9000
ضمنا چک کنین که فایل env ذخیره شده باشه


Davood
تخصص : PHP - Laravel
@dfardabasi 5 سال پیش آپدیت شد
0

@tefo.ha27
این هم تاثیر نداشت
ممنون بایت کمک هایی که میکنید

کالا بدشانسم
من هروقت شروع به یادگیری یه چیز جدید میکنم باید به مشکلات بزرگ بخورم
کلا باید سختی بکشم تا یاد بگیرم :))))))))))


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
0

سلام
@dfardabasi

مشکل بزرگی نیست ...!
یه جای کار احتمالا یه ایراد ریز داره
که به نظر من یا دیتابیس یه طوریه...
آخه میگید مایگریت میشه ، insert نمیشه!!
نمیشه که...
اگه نخواد insert شه باید ارور لاراول مبنی بر fillabe یا gurd بده!!


Davood
تخصص : PHP - Laravel
@dfardabasi 5 سال پیش مطرح شد
0

@Alimotreb
ببخشید دیشب گفتم سیستم رو reset کنم شاید ارور رفع شده ریست که ردم ارور قبلی رفع شد این ارور میاد حالا

 Integrity constraint violation: 1048 Column 'slug' cannot be null

میگه slug نباید خالی باشه در صورتی که زمان insert مقدار دادم بهش

این مدل منه

namespace App;

use Illuminate\Database\Eloquent\Model;

class Article extends Model
{
    protected $fillable = ['user_id','title','slug','text','author','viewCount','commentCount'];
}

این کنترلر

<?php

namespace App\Http\Controllers;

use App\Article;
use Illuminate\Http\Request;

class ArticleController extends Controller
{
    public function index(){
        return view('articles.index');
    }

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

    public function store(){
        Article::create([
            "user_id" => 1,
            "title" => request("title"),
            "slug" => request("slug"),
            "text" => request("text"),
            "author" => request("author"),
        ]);
    }
}

slug رو مقدار دادم نمیدونم چرا میگه slug نباید خالی باشد


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
0

سلام
@dfardabasi

ساختار مایگریشن article رو میشه بزارید


Davood
تخصص : PHP - Laravel
@dfardabasi 5 سال پیش مطرح شد
0

@Alimotreb

<?php

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

class CreateArticlesTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('articles', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->integer('user_id')->unsigned();
            $table->string('title');
            $table->string('slug');
            $table->text('text');
            $table->string('author');
            $table->integer('viewCount')->default(0);
            $table->integer('commentCount')->default(0);
            $table->timestamps();
        });
    }

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

Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
0

سلام
@dfardabasi

این رو اضافه کنید
تست بگیرید تا اگر نشد باید بررسی کنیم مقدار slug شما
چی هست

$table->string('slug')->nullable();

Davood
تخصص : PHP - Laravel
@dfardabasi 5 سال پیش مطرح شد
0

@Alimotreb

مشکل ارسال فرم حل شد
ایراد این بود که باید slug رو داخل Str::slug میذارشتم

ولی باز خالی ارسال میشه slug

یعنی همه مقادر ثبت میشن جز slug


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
0

سلام
@dfardabasi

اتفاقا میخواستم بپرسم ببینم این slug چیه !
آیا تو فرم اینپوتی دارید که name ش slug هست یا همون slug کوتاه سازی عناوین خودمونه!

بعد دیدم از request گرفتید گفتم خب ایشون شاید تو فرم اینپوتی به اسم slug دارند!

تو سایت لاراول برید هلپر فانکشن برای slug هست میتونید استفاده کنید

خب خدارو شکر که مشکل رفع شد
موفق باشید


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام