anh bạn, cái đó không hoạt động nhưng khi tôi cố gắng sử dụng auth. chức năng cố gắng đăng nhập người dùng, nó hiển thị cho tôi lỗi bảng người dùng không tồn tại, sau đó tôi đã thay đổi tên bảng trong auth. php trong cấu hình vẫn không hoạt động, phải làm gì bây giờ ??
Trong hướng dẫn này, chúng ta sẽ thảo luận về mô hình hùng hồn của laravel, tất cả các cấu hình theo điều kiện, chúng được thực hiện trong mô hình bảng
cấu hình mô hình laravel
- bàn
- điền được
- bảo vệ
- khóa chính
- gia tăng
- loại chính
- dấu thời gian
- tên cột dấu thời gian
- tên mặc định của thuộc tính
Cách tùy chỉnh tên bảng trong laravel
quy tắc laravel là tên bảng ở dạng số nhiều và mô hình có liên quan ở dạng số ít nếu mô hình trên không tuân theo các quy tắc này thì chúng tôi đặt tên bảng trong biến $table là loại được bảo vệ, ví dụ trên mô hình là 'Student' và tên bảng là '
protected $table = 'school_students';
Tại sao chúng tôi sử dụng $fillable trong laravel
thuộc tính có thể điền được sử dụng khi chúng tôi lưu trữ dữ liệu hàng loạt trong mô hình ném bảng. Có thể điền là biến kiểu mảng gán các giá trị có thể gán hàng loạt
protected $fillable = [ 'name', 'email', 'password', ];
Sử dụng thuộc tính $guarded của laravel
thuộc tính được bảo vệ ngược lại với thuộc tính có thể điền, nó lấy tên thuộc tính không thể gán hàng loạt, cả hai đều được bảo vệ và có thể điền được sử dụng khi chúng ta gán dữ liệu hàng loạt giống như khi chúng ta sử dụng phương thức tạo [] trong bộ điều khiển để tạo dữ liệu hơn là nó báo lỗi nếu chúng ta
protected $guarded = ['role'];
cấu hình primaryKey trong mô hình laravel
Cách sử dụng tên khóa chính khác nhau thay vì id, sau đó chúng tôi sử dụng cấu hình mô hình này, trong trường hợp này, chúng tôi đặt tên khóa chính trong biến $primaryKey, đặt tên khóa chính cho bảng 'sinh viên' của chúng tôi là 'student_id'
protected $primaryKey = 'student_id';
Khi chúng tôi không sử dụng cột id tăng tự động trong bảng laravel
làm thế nào để ngăn cột tăng tự động từ một bảng trong laravel thì chúng tôi sử dụng cấu hình này nếu trong bảng của chúng tôi không tìm thấy cột tự động tăng hơn là vượt qua biến $incrementing false
public $incrementing = false;
Thuộc tính keyType của mô hình Laravel
Nếu khóa chính trong bảng của chúng ta không có kiểu số nguyên thì chúng ta chuyển chuỗi $keyType
protected $keyType = 'string';
Nếu chúng ta không sử dụng cột created_at và updated_at trong bảng laravel
Nếu chúng tôi không xác định cột created_at và updated_at trong bảng trên thì chúng tôi chuyển sai trong biến $timestamps
public $timestamps = false;
Cách thay đổi tên cột dấu thời gian trong bảng laravel
làm thế nào để thay đổi tên cột created_at và updated_at trong bảng laravel, sau đó chúng tôi sử dụng cấu hình này để tên cột created_at của chúng tôi start_date hơn chúng tôi sử dụng
const CREATED_AT = 'start_date';
Đặt cấu hình giá trị mặc định của một cột trong mô hình laravel
làm thế nào để xác định giá trị mặc định của cột trong bảng bằng mô hình hùng hồn của laravel hơn là chúng ta chuyển mảng cột và giá trị của nó trong biến $attributes
________số 8Anmol Sharma
Tôi là một kỹ sư phần mềm và có kinh nghiệm về các công nghệ phát triển web như php, Laravel, Codeigniter, javascript, jquery, bootstrap và tôi muốn chia sẻ kiến thức sâu rộng của mình qua các blog này
Nếu bạn cần lấy tên bảng từ model trong ứng dụng laravel của mình thì bài đăng này có thể giúp bạn lấy tên bảng trong ứng dụng laravel 6, laravel 7, laravel 8 và laravel 9. Laravel dựa trên MVC. Vì vậy, chúng tôi yêu cầu tạo mô hình cho mọi bảng theo cách mà chúng tôi có thể viết logic cơ sở dữ liệu trên mô hình. Nhưng nếu bạn yêu cầu lấy tên bảng từ model thì bạn có thể sử dụng getTable[] của model
Laravel eloquent model cung cấp một số phương thức như for all[], get[], first[], v.v., giúp lấy bản ghi bảng từ bảng mô hình
Bạn có thể lấy tên bảng chỉ cần gọi getTable[] của đối tượng mô hình, vậy cách gọi phương thức này như ví dụ dưới đây
Trong bài viết ngắn này, mình sẽ hướng dẫn các bạn cách lấy tên model table trong Laravel. Trong các tác vụ trước đây của tôi, tôi đã tạo tất cả các mô hình và hiển thị tất cả các bảng từ các mô hình mà tôi đã tạo. Nếu bạn có cùng một nhiệm vụ có thể nó có thể giúp bạn
Trong ví dụ này, chúng tôi sẽ sử dụng mô hình
protected $fillable = [ 'name', 'email', 'password', ];1 và lấy tên bảng. Để làm điều đó chỉ cần xem mã của tôi dưới đây
Tôi đang làm việc trên một ứng dụng ERP cho ngành sản xuất đồ nội thất ở Rumani nên tôi đã đặt tên cho các bảng của mình bằng ngôn ngữ mẹ đẻ của mình. Vấn đề với điều đó là các hậu tố mà Laravel đang thêm [người dùng -> người dùng] và cuối cùng tôi đã có một tên tiếng Rumani cho bảng kết thúc bằng “s”
3 Schema::rename['old_table_name', 'new_table_name'];
Khi bạn chạy quá trình di chuyển, tên bảng sẽ được thay đổi NHƯNG bạn có thể gặp phải một số lỗi nói rằng không thể tìm thấy “old_table_name”. Đó là bởi vì Laravel đang cố đoán tên bảng và nếu điều này xảy ra, bạn nên chỉ định rõ ràng tên bảng trong mô hình Eloquent của mình như thế này
protected $fillable = [ 'name', 'email', 'password', ];0