راکت
Davood
Davood
توسط 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
تخصص :کانفیگ سرور و برنامه نویس
@Alimotreb7 سال پیشمطرح شد
1

سلام
@dfardabasi

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


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

@Alimotreb

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

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

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


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

سلام
@dfardabasi

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

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


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

@Alimotreb

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

php artisan migrate

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


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

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


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

@Alimotreb

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

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

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


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

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


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

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


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

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

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


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

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


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

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


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

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

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


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

سلام
@dfardabasi

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


Davood
Davood
تخصص :PHP - Laravel
@dfardabasi7 سال پیشمطرح شد
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
تخصص :کانفیگ سرور و برنامه نویس
@Alimotreb7 سال پیشمطرح شد
0

سلام
@dfardabasi

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


Davood
Davood
تخصص :PHP - Laravel
@dfardabasi7 سال پیشمطرح شد
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
تخصص :کانفیگ سرور و برنامه نویس
@Alimotreb7 سال پیشمطرح شد
0

سلام
@dfardabasi

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

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

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

@Alimotreb

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

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

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


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

سلام
@dfardabasi

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

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

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

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


صفحه 1 از 2

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

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