مفهوم این خطا چیه؟
و راه حلش؟
SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'slug' at row 1 (SQL: update articles set slug =
دیتایی که میخواید ذخیره کنید از طول رشته که در مایگریشن یا به صورت دستی در جدول تایین کردید بزرگتره
اگر از مایگریشن در لاراول استفاده میکنید طول رشته را برای ستون 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