[Seri] - Website đồng hồ - Tạo Model, Request, Route và Controller Thêm, hiển thị keyword

662 lượt xem 3 năm trước
Trước đó mình đã tạo xong csdl cho bảng từ khoá. Tiếp theo mình sẽ tạo model, controller, request để xử lý thêm, hiển thị từ khoá, view thì mình đã tạo từ bài trước đó rồi nhé

Trong video mình đã ghi và giải thích rất rõ chi tết các phần nên trên blog này mình chỉ nhắc lại những kiến thức cũng như những câu lệnh để các bạn đỡ sai sót nhé.

Tạo Model Keyword

php artisan make:model Models/Keyword

Controller Keyword

php artisan make:controller Admin/AdminKeywordController

Request Keyword

php artisan make:request AdminRequestKeyword

Nội dung file request sẽ là

use Illuminate\Foundation\Http\FormRequest;

class AdminRequestKeyword extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'k_name' => 'required|max:190|min:3|unique:keywords,k_name,'.$this->id
        ];
    }

    public function messages()
    {
        return [
            'k_name.required'   => 'Dữ liệu không được để trống',
            'k_name.unique'     => 'Dữ liệu đã tồn tại',
            'k_name.max'        => 'Dữ liệu không quá 190 ký tự',
            'k_name.min'        => 'Dữ liệu phải nhiều hơn 3 ký tự'
        ];
    }
}

View hiển thị 

Phần view thì các bạn xem qua video để thao tác cho nhanh nhé. Nhưng đa phần phần này nó giống như ở phần category từ các view đến cấu trúc hiển thị 

Xử lý thêm và hiển thị 

Nội dung file AdminKeywordController xử lý thêm mới và hiển thị như sau 

namespace App\Http\Controllers\Admin;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Str;
use App\Http\Requests\AdminRequestKeyword;
use App\Models\Keyword;
use Carbon\Carbon;

class AdminKeywordController extends Controller
{
    public function index()
    {
        $keywords = Keyword::paginate(10);

        $viewData = [
            'keywords' => $keywords
        ];

        return view('admin.keyword.index', $viewData);
    }

    public function create()
    {
        return view('admin.keyword.create');   
    }

    public function store(AdminRequestKeyword $request)
    {
        $data               = $request->except('_token');
        $data['k_slug']     = Str::slug($request->k_name);
        $data['created_at'] = Carbon::now();

        $id = Keyword::insertGetId($data);

        return redirect()->back();
    }
}

Route phần keyword 

Route::group(['prefix' => 'keyword'], function(){
            Route::get('','AdminKeywordController@index')->name('admin.keyword.index');
            Route::get('create','AdminKeywordController@create')->name('admin.keyword.create');
            Route::post('create','AdminKeywordController@store');

            Route::get('update/{id}','AdminKeywordController@edit')->name('admin.keyword.update');
            Route::post('update/{id}','AdminKeywordController@update');
            Route::get('hot/{id}','AdminKeywordController@hot')->name('admin.keyword.hot');
            
            Route::get('delete/{id}','AdminKeywordController@delete')->name('admin.keyword.delete');

        });

VIdeo

<iframe width="560" height="315" src="https://www.youtube.com/embed/xzBZAJ3tsLE" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

Các bạn thêm tiếp phía sao phần route của category nhé.

Bài viết liên quan

123code.net - Tạo cảm giác an toàn, uy tín, chất lượng đến cho mọi người

123code.net mang lại cảm giác an toàn nhất cho bạn, không làm bạn thất vọng, giúp bạn giải quyết được vấn đề đồ án tốt nghiệp ở thời điểm hiện tại và tương lai

- Đưa ra giải pháp, góp ý giúp bạn có được một đề tài đồ án tốt, phù hợp nhất

- Có nhiều tính năng mới, độc giúp thu hút, thuyết phục được giáo viên phản biện cũng như hội đồng bảo vệ đồ án

- Đúng ngày, đúng giờ, đầy đủ yêu cầu - tính năng

=> Nhanh tay đăng ký hoạc liên hệ với admin tại đây để có được một đồ án phù hợp với mình

123code.net

Bài viết nhiều người đọc

Hướng Dẫn Thêm SSH Key Vào Server Để Kết Nối Mà Không Cần Nhập Mật Khẩu

2025-03-17 09:50:35

Khi làm việc với server qua SSH, việc nhập mật khẩu mỗi lần kết nối có thể gây phiền toái. Để giải quyết vấn đề này, bạn có thể sử dụng SSH key. Bài viết này sẽ hướng dẫn bạn cách tạo và thêm SSH key vào server của mình.

Hướng Dẫn Vẽ Tableau Chuyên Nghiệp Cho Đồ Án Tốt Nghiệp

2025-03-02 22:39:25

123code Hướng Dẫn Vẽ Tableau Chuyên Nghiệp Cho Đồ Án Tốt Nghiệp

Cài đặt composer centos 7

2025-02-18 15:14:39

Tổng hợp các lệnh cài đặt composer trên centos 7

Cài đặt php trên vps centos 7

2025-02-18 14:50:17

Hướng dẫn tổng hợp các câu lệnh cài đặt php trên centos 7

Hot Khám Phá Tableau: Phần Mềm BI Hàng Đầu Cho Phân Tích Dữ Liệu và Trực Quan Hoá

2024-12-06 11:40:11

Tableau là công cụ phân tích dữ liệu mạnh mẽ, được sử dụng rộng rãi trong ngành Business Intelligence (BI)

Tạo User và Mật khẩu gán quyền trên vps

2024-12-04 17:35:51

Cách tạo user và mật khẩu cũng như gán quyền trên vps

Cách public port mysql lên url

2024-11-25 09:54:36

Cách public port mysql lên url một cách đơn giản nhưng không nên lạm dụng

Hot Sử dụng Tableau trong Đồ Án Tốt Nghiệp: Bí Quyết Thành Công

2024-11-19 15:03:51

Tableau là một công cụ trực quan hóa dữ liệu mạnh mẽ, được sử dụng rộng rãi trong lĩnh vực phân tích dữ liệu. Với khả năng kết nối đa dạng các nguồn dữ liệu, Tableau giúp sinh viên:

Hot Tổng quan về Tableau: Công cụ phân tích dữ liệu hàng đầu cho đồ án CNTT

2024-11-14 21:14:36

Tableau không chỉ là một công cụ mạnh mẽ mà còn là một lựa chọn tuyệt vời cho các bạn sinh viên và những ai đang làm đồ án CNTT cần phải phân tích và trình bày dữ liệu

Một số gợi ý đề tài đồ án tốt nghiệp do Chatgtp support gợi ý

2023-02-11 15:32:22

Tổng hợp các đề tài đồ án tốt nghiệp khá là hay do AI gợi ý cho chúng ta