مفهوم این خطا چیه؟
و راه حلش؟
SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'slug' at row 1 (SQL: update articles
set slug
=
مشکل تو بخش فرانت بود
اتریبیوت name داخل تگ slug اشتباها هم نام اتریبیوت name توضیحات خورده بود
دیتایی که میخواید ذخیره کنید از طول رشته که در مایگریشن یا به صورت دستی در جدول تایین کردید بزرگتره
اگر از مایگریشن در لاراول استفاده میکنید طول رشته را برای ستون slug بیشتر کنید:
$table->string('slug', 255)
و یا به صورت دستی در phpmyadmin مقدار Length/Values ستون slug را بیشتر کنید
و یا متن کوتاهتری در این ستون ذخیره کنید که تعداد کاراکترش بیشتر از length ستون slug نباشه
به پوشه app/Providers/ مراجعه کنید و فایل AppServiceProvider.php را ویرایش کنید:
ابتدا کلاس زیر را use
use Illuminate\Support\Facades\Schema;
و بعد متد زیر را ویرایش کنید:
public function boot()
{
Schema::defaultStringLength(255);
}
اگر باز هم مشکل پا برجا بود لازمه که با terminal به دیتابیس وصل بشید: (فرض میگیرم که نام کاربری دیتابیس root و رمز خالی است
$ mysql -u root -p
و بعد دستور زیر را بترتیب بزنید:
SET GLOBAL innodb_file_format=Barracuda;
SET GLOBAL innodb_file_per_table=on;
SET GLOBAL innodb_large_prefix=on;
من در لینوکس کار میکنم و نمیتونم با phpmyadmin این دستوراتو بزنم اما ممکن هم هست که شما در ویندوز دارید کار میکنید براتون قابل ویرایش باشه پس یکبار در خود phpmyadmin رو جدولتون برید و از تب های بالا SQL و دستورات بالا رو یکی یکی در کادرش بزنید و GO
مشکل تو بخش فرانت بود
اتریبیوت name داخل تگ slug اشتباها هم نام اتریبیوت name توضیحات خورده بود
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟