SQL error when loading empty laravel blade file - laravel

This is an app that previous developers have worked on and might have something hidden I'm not aware of.
There's a simple route that uses no middleware and loads a view.
public function index(Request $request)
{
return view('media');
}
This returns
SQLSTATE[42S22]: Column not found: 1054 Unknown column
This happens even if media.blade.php is empty and stops happen if I comment out return view('media').
This is media.blade.php
#extends('layouts.app')
#section('title', __('Files and Links'))
#section('content')
<media :privacy="{{ $privacy }}"></media>
#endsection
Even when I empty the file it's the same.
Where can queries be happening if that's all there is?

Try this :
composer dump-autoload
php artisan cache:clear
php artisan config:cache
php artisan config:clear

Related

dump($_ENV) not working in laravel version 7x

Here the code
Controller :
public function index()
{
dump($_ENV);
}
Route :
Route::get('/', 'HomeController#index');
I can't display env file in the screen
Try:
php artisan config:clear
php artisan cache:clear
composer dump-autoload
chek:
{{ env('APP.ENV') }}
your doing things in wrong way try this
env('APP_ENV');
getenv('APP_ENV');
if your using cache then you can access the value from config like this .
config('app.env');
or using facede
Config::get('app.env');
If your $_ENV array is mysteriously empty, but you still see the variables when calling getenv() or in your phpinfo(), check your http://us.php.net/manual/en/ini.core.php#ini.variables-order ini setting to ensure it includes "E" in the string.

Some URLs are 404 in production

I have a Laravel 7 project that I deploy using Deployer and everything works as expected. A few days later, I created a new route, /privacy-policy. I also created a controller and a Blade template. Everything seemed to be working great. However, upon deployment, surprisingly there was a 404 error. All the other links are working fine.
Route
Route::get('/home', 'HomeController#index')->name('home');
Route::get('/privacy-policy', 'HomeController#privacy');
Controller
public function privacy()
{
return view('app.privacy-policy');
}
Even a closure doesn't work.
Route::get('/', function () {
return view('app.privacy-policy');
});
I ran the following commands, but it didn't help.
php artisan cache:clear
php artisan route:clear
php artisan config:clear
php artisan config:cache
Why don't you run php artisan route:list so that you can verify the URI and name are actually correct? For instance if you see 'app.privacy-policy' in the URI column then verify that it's named that and also in your controller. Basically fix your route.
Route::get('app.privacy-policy', 'HomeController#privacy')
->name('app.privacy-policy');
public function privacy()
{
return view('app.privacy-policy');
}

Mixed Content, This request has been blocked; the content must be served over HTTPS , Laravel

I have this error one production env. only on some routes, I see no difference between the routes that works and the few of them that don't work. All my routes are in web.php, and in front I try to access via Vuejs/Axios.
Also, the both url from error when I try to access them I get to https://, even if I try http:// , I get redirect to https.
What I tried till now.
.env
APP_URL=https://my.url
web.php
URL::forceScheme('https'); //at the top of the file
App/Providers/AppServiceProvider
public function boot()
{
URL::forceScheme('https');
}
Also:
composer dump-autoload
php artisan cache:clear
php artisan config:clear
php artisan view:clear
php artisan route:clear
php artisan config:cache
npm run prod
I found a strange solution.
I changed the route name from random_question to random, also the controller method name that was show to random and works.

Laravel 5.2.2 and Entrust error call to undefined method

When I am using latest Laravel 5.2.2 and Entrust ("zizaco/entrust": "5.2.x-dev") I face this error and not sure how to solve this:
Call to undefined method Zizaco\Entrust\EntrustServiceProvider::hasRole()
I tested this code on HomeController.php
use Entrust;
class HomeController extends Controller
{
public function index()
{
if (Entrust::hasRole('admin')) {
echo "string";
}
return view('home');
}
}
This is my config/app.php service provider
Zizaco\Entrust\EntrustServiceProvider::class
config/app.php facade alias
'Entrust' => Zizaco\Entrust\EntrustFacade::class
I also already generate the model needed
Did I miss something here?
I have same issue, here are the steps I have taken to solve the issue
In your .env file change to cache array
CACHE_DRIVER=array
and dont forget to run
php artisan config:cache
It seems all the steps is correct, and I just need to clear the cache with php artisan config:cache
And if you face an error like below
BadMethodCallException in vendor\laravel\framework\src\Illuminate\Cache\Repository.php line 380:
This cache store does not support tagging.
You need to change in .env this line to array
CACHE_DRIVER=array
Try this:
Open environment file of your laravel change CACHE_DRIVER=file to CACHE_DRIVER=array and save.
Now try your CLI command.
Laravel drivers does not support tagging. To solve this, go to your .env file and change
Cache_driver=file
to
Cache_driver=array
and run
php artisan config:cache

Base table or view not found: 1146 Table 'db.ken_permissions' doesn't exist

Sometimes, when I type :
php artisan
php artisan migrate
etc
I get the message:
[Illuminate\Database\QueryException]
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'db.ken_permissions' doesn't exist (SQL: select * from `ken_permissions`)
Debugging, I can tell my problem happens in the artisan file in:
$status = $kernel->handle(
$input = new Symfony\Component\Console\Input\ArgvInput,
new Symfony\Component\Console\Output\ConsoleOutput
);
I had already check this answer, and didn't work:
bootstrap/app.php is clean,
I don't have app/start folder ( L5.1),
routes.php is clean
php artisan -v or php artisan --pretend doesn't work, because artisan fails before running it seems.
The only thing I have is in app/Providers
public function boot(GateContract $gate)
{
parent::registerPolicies($gate);
// Dynamically register permissions with Laravel's Gate.
foreach ($this->getPermissions() as $permission) {
$gate->define($permission->name, function ($user) use ($permission) {
return $user->hasPermission($permission);
});
}
}
One solution is to delete all my tables, then composer dump-autoload, and then it work again, but it constantly comes back.
Is it a way to trace what migration is failing?
Any idea why is it happening?
Tx!
Go to the App\Provider\AuthServiceProvider
if you use on boot method GateContract ($this->getPermission() etc), remove or add to comment all after parent::registerPolicies($gate); and done run php artisan migrate
Adding to watcher's answer here
Remove any lines requesting data from your model from these files to be sure artisan is not trying to load data from your non-existent table:
bootstrap/start.php
app/start/global.php
app/start/local.php
app/routes.php
Also be sure to un-register any service providers that utilize data from that table in their register or boot methods inside of app/config/app.php.
You can move your migrations to a database/temp folder and run your migrations one by one
php artisan migrate --path=database/temp
you will know which migration is causing problem.
NOTE
Also you can use
php artisan migrate --pretend to get the query you are trying to do.

Resources