Tôi mới sử dụng Laravel và Eloquent, vì vậy xin lỗi nếu đây là một câu hỏi hoàn toàn ngu ngốc. Tôi đã xem xét cách tạo mô hình ở cả hai tài liệu here và cũng là một hướng dẫn khác here (trong Mô hình tạo bằng phần Eloquent ORM) và tôi đã nhận thấy rằng các trường thực tế của bảng không bao giờ được đề cập, trừ khi có một cái gì đó cụ thể về họ (như có một mối quan hệ với một bảng khác, hoặc không yêu cầu chuyển nhượng hàng loạt, hoặc nếu họ cần phải được ẩn từ đầu ra JSON, vv)Các trường trong các mô hình Eloquent Laravel
Các trường này bị bỏ qua và PHP chỉ bổ sung chúng khi nó thực hiện truy vấn bằng PDO với FETCH_OBJ
được bật? Nếu có, tại sao chúng tôi không đặt các trường trong mô hình một cách rõ ràng? Nó không giúp chúng ta biết được những lĩnh vực nào chúng ta có, và cũng là các IDE như PHPStorm để bật lên các trường tự động hoàn thành đúng không?
Nếu họ thực sự được yêu cầu, họ cần có cấp truy cập nào?
Cảm ơn.
Cảm ơn câu trả lời chi tiết của bạn. Tiếc là tôi không thể sử dụng nó theo cùng một cách của 'fetchObject()' của PDO, nơi tôi có thể chỉ định tên lớp và nó hydrate một thể hiện của lớp cụ thể của tôi. Tôi đang thực tế bằng cách sử dụng PhpStorm, và có vẻ như các gợi ý sử dụng các thẻ phpdoc làm việc, do đó, nó là một giải pháp tốt cho sự hỗ trợ IDE thích hợp. – jbx
Nếu bạn thực sự muốn chức năng đó, bạn có thể phân lớp lớp 'Eloquent', thực sự là' Illuminate \ Database \ Eloquent \ Model', (tìm trong 'app/config/app.php' cho mảng aliases và chắc chắn rằng đặt bí danh 'Eloquent' thành FQN thích hợp cho lớp con Eloquent của bạn) và định nghĩa' setRawAttributes() 'để hoạt động như thế, nhưng điều đó có thể phức tạp hơn khi sử dụng các thẻ phpdoc. –
Vâng, nó sẽ trở nên quá phức tạp và vượt ra ngoài phạm vi của những gì tôi đang cố gắng đạt được. Tôi chỉ muốn có những thứ sạch sẽ và duy trì được. Phá hoại quá nhiều so với cách tiêu chuẩn cũng có thể khiến tôi trong tình huống mà tôi sẽ không thể tìm kiếm giải pháp hoặc đặt câu hỏi tại đây. Các thẻ phpdoc có vẻ tốt, chúng cũng hữu ích để chỉ ra lĩnh vực ma thuật mà mô hình có nếu mở nó thông qua một trình soạn thảo ít thông minh hơn như Notepad ++ hoặc Vi. Cảm ơn thông tin chi tiết của bạn! – jbx