Bonjour,
Action App\Http\Controllers\LinksController@show not defined. (View: C:\Users\user\pfe17\resources\views\links\success.blade.php)
voila le code linksController

<?php

namespace App\Http\Controllers;

use App\Link;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Http\Requests;
use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades\Redirect;

class linksController extends Controller
{
    /**
     * @param $id
     * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
     */
    public function show($id){
        $link = Link::findOrFail($id);
        return Redirect($link->url, 301);
    }
    public function create(){
        return view ('links.create');
    }
    public function store(){
        $url=Input::get('url');

        $link = Link::firstOrCreate(['url'=>$url]);
        return view('links.success', compact('link'));
    }
}

et le code success.blade.php

@extends('default')
@section('content')
    <h1>
        BRAVO!
    </h1>
    <p>
        <a class="btn btn-primary" href="{{action('LinksController@show',['id=>$link->id'])}}">

            {{route('link.show',$link)}}

        </a>
    </p>
@stop

j ai pa comris ou le probleme !!
j ai besoin d votre aide
merci d avance

5 réponses


Bonjour,

Tu devrais rechercher un petit peu plus la résolution de tes problèmes.
Prend le soucis depuis le début. L'erreur dit : Action App\Http\Controllers\LinksController@show not defined
Donc il ne trouve pas la méthode show() dans LinksController.

Je vais dans LinksController, il y a bien une méthode show, bizarre. Mais quand tu regarde, c'est linksController et non pas LinksController.

Fais bien attention au majuscules dans tes controllers.

imen
Auteur

j ai corrigé, mais reste la mm faute

Il faut aussi probablement modifier le nom du fichier. Refais tout le chemin entre la route => controller => vue et tout ça.
De plus, tu as un soucis sur cette ligne :

<a class="btn btn-primary" href="{{action('LinksController@show',['id=>$link->id'])}}">

Je te conseille de revoir les base de PHP sur le système de tableaux.

imen
Auteur

ça marche merci
j ai une autre problem
j ai crée un tab posts par la commande : php artisan make:migration create_posts_table --create
puis j ai mis le code :

<?php

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
use Illuminate\Support\Facades\Schema;

class CreatePostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('posts', function (Blueprint $table) {
            $table->increments('id');
            $table->string('title');
            $table->string('slug')->unique();
            $table->longText('content');
            $table->timestamps();

        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::drop('posts');
    }
}

puis j ai fait php artisan migrate, le prob dans la base de donnée il n y a pa create_at et update_at
j c pa pk !
merci d'avance

Bonjour,

Juste un petit effort sur le language SMS ce serait pas mal, merci :)

Pour ton problème, je pense que tu as migrate avant d'ajouter la ligne $table->timestamps.
Il faut donc que tu rollback, puis que tu re-migrate pour l'ajouter correctement.