You really should follow the naming conventions it will make your life easier.
Check your About model and see if you have specified table about. in it.
Give this a read https://tray2.se/posts/sqlerrm
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
Hi all,
i had a migration file named about, then i deleted manually and created another one named abouts which triggered the above error, i searched everywhere in project there is nothing calling about table. i stoped the AppServiceProvider boot method to make sure nothing is running just in case, and also ran many times php artisan make:refresh/fresh but still the same
Any idea what is going wrong pls ?
Illuminate
\
Database
\
QueryException
PHP 8.2.12
11.20.0
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'db.about' doesn't exist
select count(*) as aggregate from `about` where json_unquote(json_extract(`title`, '$."en"')) = vvv
A table was not found
Run migrations
You might have forgotten to run your database migrations.
You can try to run your migrations using `php artisan migrate`.
Database: Running Migrations docs
Expand vendor frames
79 vendor frames
D:\xampp\htdocs\NGO\code\ngov1\public\index
.php
: 51
require_once
1 vendor frame
D:\xampp\htdocs\NGO\code\ngov1\public\index
.php
: 51
|
| Composer provides a convenient, automatically generated class loader for
| this application. We just need to utilize it! We'll simply require it
| into the script here so we don't need to manually load our classes.
|
*/
require __DIR__.'/../vendor/autoload.php';
/*
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request using
| the application's HTTP kernel. Then, we will send the response back
| to this client's browser, allowing them to enjoy our application.
|
*/
$app = require_once __DIR__.'/../bootstrap/app.php';
$kernel = $app->make(Kernel::class);
$response = tap($kernel->handle(
$request = Request::capture()
))->send();
$kernel->terminate($request, $response);
arguments
$request:Illuminate\Http\Request
POST http://127.0.0.1:8000/ar/admin/about/add/form
App
Routing
Request
Browser
Headers
Body
Context
User
Versions
Exception
App
Routing
Controller
App\Http\Controllers\Admin\AboutController@store
Route name
store.about
Middleware
admin
localeSessionRedirect
localizationRedirect
localeViewPath
pagespeed
auth:admin
Request
http://127.0.0.1:8000/ar/admin/about/add/form
POST
curl "http://127.0.0.1:8000/ar/admin/about/add/form" \
-X POST \
-H 'host: 127.0.0.1:8000' \
-H 'connection: keep-alive' \
-H 'content-length: 31297' \
-H 'cache-control: max-age=0' \
-H 'sec-ch-ua: "Not)A;Brand";v="99", "Microsoft Edge";v="127", "Chromium";v="127"' \
-H 'sec-ch-ua-mobile: ?0' \
-H 'sec-ch-ua-platform: "Windows"' \
-H 'upgrade-insecure-requests: 1' \
-H 'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/127.0.0.0' \
-H 'origin: http://127.0.0.1:8000' \
-H 'content-type: multipart/form-data; boundary=----WebKitFormBoundaryQ9I069CYc2mmejul' \
-H 'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7' \
-H 'sec-fetch-site: same-origin' \
-H 'sec-fetch-mode: navigate' \
-H 'sec-fetch-user: ?1' \
-H 'sec-fetch-dest: document' \
-H 'referer: http://127.0.0.1:8000/ar/admin/about/add' \
-H 'accept-encoding: gzip, deflate, br, zstd' \
-H 'accept-language: en-US,en;q=0.9,fr-FR;q=0.8,fr;q=0.7,ar;q=0.6' \
-H 'cookie: <CENSORED>' \
-F '_token=f55TtKbvRjA38G8HmcqaDZRsqsCcSC4en3eFZrFi' -F 'id=null' -F 'title_ar=v' -F 'title=vvv' -F 'title_fr=vvvv' -F 'description_ar=<p>v</p>' -F 'description=<p>vvvvvv</p>' -F 'description_fr=<p>vv</p>' -F 'p1_ar=vv' -F 'p1=vv' -F 'p1_fr=vv' -F 'p2_ar=v' -F 'p2=vv' -F 'p2_fr=vv' -F 'p3_ar=v' -F 'p3=vv' -F 'p3_fr=vv' -F 'p4_ar=vv' -F 'p4=vv' -F 'p4_fr=vv' -F 'p5_ar=v' -F 'p5=vv' -F 'p5_fr=v' -F 'meta_description_ar=v' -F 'meta_description=v' -F 'meta_description_fr=vv' -F 'status=1'
Browser
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/127.0.0.0
Headers
host
127.0.0.1:8000
connection
keep-alive
content-length
31297
cache-control
max-age=0
sec-ch-ua
"Not)A;Brand";v="99", "Microsoft Edge";v="127", "Chromium";v="127"
sec-ch-ua-mobile
?0
sec-ch-ua-platform
"Windows"
upgrade-insecure-requests
1
user-agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/127.0.0.0
origin
http://127.0.0.1:8000
content-type
multipart/form-data; boundary=----WebKitFormBoundaryQ9I069CYc2mmejul
accept
text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
sec-fetch-site
same-origin
sec-fetch-mode
navigate
sec-fetch-user
?1
sec-fetch-dest
document
referer
http://127.0.0.1:8000/ar/admin/about/add
accept-encoding
gzip, deflate, br, zstd
accept-language
en-US,en;q=0.9,fr-FR;q=0.8,fr;q=0.7,ar;q=0.6
cookie
<CENSORED>
Body
{
"_token": "f55TtKbvRjA38G8HmcqaDZRsqsCcSC4en3eFZrFi",
"id": null,
"title_ar": "v",
"title": "vvv",
"title_fr": "vvvv",
"description_ar": "<p>v</p>",
"description": "<p>vvvvvv</p>",
"description_fr": "<p>vv</p>",
"p1_ar": "vv",
"p1": "vv",
"p1_fr": "vv",
"p2_ar": "v",
"p2": "vv",
"p2_fr": "vv",
"p3_ar": "v",
"p3": "vv",
"p3_fr": "vv",
"p4_ar": "vv",
"p4": "vv",
"p4_fr": "vv",
"p5_ar": "v",
"p5": "vv",
"p5_fr": "v",
"meta_description_ar": "v",
"meta_description": "v",
"meta_description_fr": "vv",
"status": "1"
}
Versions
Php Version
8.2.12
Laravel Version
11.20.0
Laravel Locale
ar
Laravel Config Cached
false
App Debug
true
App Env
local
Exception
Raw Sql
select count(*) as aggregate from `about` where json_unquote(json_extract(`title`, '$."en"')) = ?
Do you have a validation rule that is checking if a record exists in the about table ?
Validation does not use eloquent models so if the table name changes, your validation code will break unless you change it there also.
Please or to participate in this conversation.