Devpat's avatar

nothing changed when i hit refresh. i hope someone could help me find my mistake.

MODEL:


namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Validator;

class CourseDiscoveryClass extends Model
{
    public $timestamps = false;

    private $table = 'course_discoveryLumen';

    public function create_course($user_id,$category_id,$course_id,$course_title,$course_content)
    {
        $data = [
            'user_id'=>$user_id,
            'category_id'=>$category_id,
            'course_id'=>$course_id,
            'course_title'=>$course_title,
            'course_content'=>$course_content,
        ];

        $rules = [
            'user_id'=>'required',
            'category_id'=>'required',
            'course_id'=>'required',
            'course_title'=>'required|max:255',
            'course_content'=>'required|'
        ];

        $validator = Validator::make($data, $rules);

        if($validator->fails())
        {
            throw new Exception('Invalid request.');
        }

        $course = new CourseDiscoveryClass();
        $course->user_id = $data['user_id'];
        $course->category_id = $data['category_id'];
        $course->course_id = $data['course_id'];
        $course->course_title = $data['course_title'];
        $course->course_content = $data['course_content'];
        $course->save();

        return true;
    }

    public function update_course($course_id,$category_id,$course_title,$course_content)
    {
        $data = [
            'category_id'=>$category_id,
            'course_id'=>$course_id,
            'course_title'=>$course_title,
            'course_content'=>$course_content,
        ];

        $rules = [
            'category_id'=>'required|numeric',
            'course_id'=>'required|numeric',
            'course_title'=>'required|max:255',
            'course_content'=>'required'
        ];

        $validator = Validator::make($data,$rules);

        if($validator->fails())
        {
            throw new Exception('Invalid update course');
        }
        $course = $this->find($course_id,$category_id);

        $course->course_title = $data['course_title'];
        $course->course_content = $data['course_content'];
        $this->save();

        return true;
    }

    // public function delete_course($id)
    // {
    //  $data = [
    //      'id'=>$id
    //  ];

    //  $rules = [
    //      'id'=>'required|numeric'
    //  ];

    //  $validator = Validator::make($data,$rules);

    //  if($validator->fails())
    //  {
    //      throw new Exception('Invalid request');
    //  }

    //  $course = $this->first($id);

    //  return $course;
    // }

    // public function list_courses()
    // {
    //  $courses = $this->get();

    //  return $courses;
    // }
}



CONTROLLER:

```<?php

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\CourseDiscoveryClass;
use Exception;

class CourseDiscoveryController extends Controller
{
    private $course_discovery;

    public function __construct()
    {
        $this->course_discovery = new CourseDiscoveryClass();
    }

    public function create_course(Request $r)
    {
        try{
            // $course_title = $r->input('course_title');
            // $course_content = $r->input('course_content');
            // $course_title = $r->get('id');
            // $course_content = $r->get('id')
            // $this->course_discovery->create_course($course_title,$course_content);
            $user_id = $r['user_id'];
            $category_id = $r['category_id']; 
            $course_id = $r['course_id'];
            $course_title = $r['course_title'];
            $course_content = $r['course_content'];
            $this->course_discovery->create_course($user_id,$category_id,$course_id,$course_title,$course_content);

            return response()->json([
                'status_code'=>200,
                'status_message'=>'Course Created Successfully',
            ],200);
        }
        catch(Exception $e)
        {
            return response()->json([
                'status_code'=>400,
                'status_message'=>$e->getMessage();
            ],400);
        }
    }

    public function update_course(Request $r)
    {
        $id = $r->get('id');
        $course_title = $r->get('id');
        $course_content = $r->get('id');
        $this->course_discovery->update_course($id,$course_title,$course_content);

        return response()->json([
            'status_code'=>200,
            'status_message'=>'Course Updated Successfully',
        ],200);
    }
    catch(Exception $e)
    {
        return response()->json([
            'status_code'=>400,
            'status_message'=>$e->getMessage();
        ],400);
    }

    public function delete_course(Request $r)
    {
        try{
            $id = $r->get('id');
            $this->course_discovery->delete_course($id);

            return response()->json([
                'status_code'=>200,
                'status_message'=>'Course Deleted Successfully',
            ],200);
        }
        catch(Exception $e)
        {
            return response()->json([
                'status_code'=>400,
                'status_message'=>$e->getMessage();
            ],400);
        }
    }

    public function get_course(Request $r)
    {
        try{
            $id = $r->get('id');
            $course = $this->course_discovery->get_course($id);

            return response()->json([
                'status_code'=>200,
                'status_message'=>'Success',
                'result'=>$course
            ],200);
        }
        catch(Exception $e)
        {
            return response()->json([
                'status_code'=>400,
                'status_message'=>$e->getMessage();
            ],400);
        }
    }
    public function list_courses(Request $r)
    {
        try{
            $courses = $this->course_discovery->list_courses();

            return response()->json([
                'status_code'=>200,
                'status_message'=>'Courses listed Successfully',
                'result'=>$courses
            ],200);
        }
        catch(Exception $e)
        {
            return response()->json([
                'status_code'=>400,
                'status_message'=>$e->getMessage();
            ],400);
        }
    }
}





WEB:

```<?php

/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It is a breeze. Simply tell Lumen the URIs it should respond to
| and give it the Closure to call when that URI is requested.
|
*/

$router->get('/', function () use ($router) {
    return $router->app->version();
});

$router->get('api/list','CourseDiscoveryController@list_courses');

$router->get('api/get/{id}','CourseDiscoveryController@get_course');

$router->post('api/create','CourseDiscoveryController@create_course');

$router->put('api/update/{id}','CourseDiscoveryController@update_course');

$router->delete('api/delete/{id}','CourseDiscoveryController@delete_course');


0 likes
1 reply
Snapey's avatar

Please format your code by putting 3 backticks ``` on a line before and after each code block

1 like

Please or to participate in this conversation.