Bạn gọi bình thường như trong controller {{ Auth::user()->cus_name() }}. Để quen và chuẩn viết code và nếu đi làm thì bạn nên lấy dữ liệu ra trong controller rồi đẩy ra view nhé. K ai viết code ligic ngoài view đâu bạn
Sao lại như vậy được nhỉ có thể bạn viết sai gì đấy. Mình lấy có ra dữ liệu nhé. Mà bạn k nên viết code ngoài view nhé bạn có thể check đăng nhập và lấy dữ liệu ở controller rồi đẩy ra view để hiển thị. Ngoài view chỉ nên hiển thì thôi đúng chuẩn thì k được viết code ligic ngoài view
Em check hết rồi. Bên controller check postLogin và dùng Auth::guard('loyal_customer')->check() thì ra true và Auth::guard('loyal_customer')->user() sẽ xuất ra dữ liệu. Nhưng khi qua bên view dùng Auth::guard('loyal_customer')->check() ra false và Auth::guard('loyal_customer')->user() ra null . Khó hiểu
Với laravel bạn mở file config.php lên sẽ thấy nó tạo sẵn cho bạn một guard có tên là web và trong providers nó sẽ trỏ tới model User và mặc định bạn viết Auth::user() có nghĩa bạn đang gọi đến cái guard là web cái này do laravel quy định sẵn rồi bạn. Vì thế khi bạn muốn lấy dữ liệu của cus_name bạn chỉ việc gọi Auth::user()->cus_name là được. Như vậy khi bạn gọi Auth::user la bạn đang dùng guard rồi đấy chỉ do cách viết với gourd mặc định của laravel chông khác thôi nhé. Mình chưa thử viết kiều như này Auth::gourd('web')->check() nên không biết được không nhưng mình nghĩ là được bạn thử xem nhé hiện tại mình chưa thử dk cách này tầm 2 hôm nữa mình thử mình sẽ báo bạn. Tuy nhiên mình nên viết theo mặc định của laravel sẽ tốt hơn.
bình thường Authentication nó lấy bảng user, nhưng mình muốn nó Authentication bảng khác dc không?
Mình có ép nó bằng protected $table = 'customer' và thử đăng kí thì thành công, còn khi đăng nhập thì lại không được và khi kiếm tra Auth::check() và Auth::user() thì xuất ra giá trị null
Ví dụ của bạn rất hay, mình có thể giải thích ngắn gọn như sau:
var Object1 = ShowNum1(); => Viết như thế này là gán giá trị trả về của hàm cho biến rồi. Do đó gọi như biến thông thường là nó sẽ chạy.
var Object1 = function... => Viết như thế này thì lại không phải là truyền giá trị mà chỉ là truyền tham chiếu (truyền con trỏ hàm) sang cho biến. Và muốn gọi kết quả của hàm ra thì phải gọi con trỏ và dùng dấu () để thực thi hàm như function() bình thường.
THẢO LUẬN
Bạn gọi bình thường như trong controller {{ Auth::user()->cus_name() }}. Để quen và chuẩn viết code và nếu đi làm thì bạn nên lấy dữ liệu ra trong controller rồi đẩy ra view nhé. K ai viết code ligic ngoài view đâu bạn
Sao lại như vậy được nhỉ có thể bạn viết sai gì đấy. Mình lấy có ra dữ liệu nhé. Mà bạn k nên viết code ngoài view nhé bạn có thể check đăng nhập và lấy dữ liệu ở controller rồi đẩy ra view để hiển thị. Ngoài view chỉ nên hiển thì thôi đúng chuẩn thì k được viết code ligic ngoài view
Em check hết rồi. Bên controller check postLogin và dùng Auth::guard('loyal_customer')->check() thì ra true và Auth::guard('loyal_customer')->user() sẽ xuất ra dữ liệu. Nhưng khi qua bên view dùng Auth::guard('loyal_customer')->check() ra false và Auth::guard('loyal_customer')->user() ra null
. Khó hiểu
Với laravel bạn mở file config.php lên sẽ thấy nó tạo sẵn cho bạn một guard có tên là web và trong providers nó sẽ trỏ tới model User và mặc định bạn viết Auth::user() có nghĩa bạn đang gọi đến cái guard là web cái này do laravel quy định sẵn rồi bạn. Vì thế khi bạn muốn lấy dữ liệu của cus_name bạn chỉ việc gọi Auth::user()->cus_name là được. Như vậy khi bạn gọi Auth::user la bạn đang dùng guard rồi đấy chỉ do cách viết với gourd mặc định của laravel chông khác thôi nhé. Mình chưa thử viết kiều như này Auth::gourd('web')->check() nên không biết được không nhưng mình nghĩ là được bạn thử xem nhé hiện tại mình chưa thử dk cách này tầm 2 hôm nữa mình thử mình sẽ báo bạn. Tuy nhiên mình nên viết theo mặc định của laravel sẽ tốt hơn.
hay quá b ơi
mình sử dụng pusher để gửi thông báo đến user được chỉ định không anh và làm cách nào để gửi, em cảm ơn
em có cái Auth::user()->cus_name để show customer name trong view thì khi dùng guard thì xài như thế nào?
ban cho minh xin githup vs
Cảm ơn bạn.
)
Hay quá, thank kiu bạn ha =))
dễ hiểu phết
Anh viết hay quá ạ. Rất bổ ích với sinh viên mới ra trường như em. Em cám ơn nhiều lắm ạ!
Oki, cảm ơn anh, em đọc bài viết khá hay, hi vọng có thêm những bài viết như vậy. 😀
Bạn có thể lưu thông báo đó vào db hay chỗ nào đó để load lại trang là có nhé. Chứ thông báo realtime này chỉ để gửi và nhận tức thời thôi.
Khi load lên client thì nếu load lại trang sẽ mất thông báo đó ạ ? @@
bình thường Authentication nó lấy bảng user, nhưng mình muốn nó Authentication bảng khác dc không? Mình có ép nó bằng protected $table = 'customer' và thử đăng kí thì thành công, còn khi đăng nhập thì lại không được và khi kiếm tra Auth::check() và Auth::user() thì xuất ra giá trị null
không thấy nhắc đến angular nhỉ
cảm ơn anh ạ
Ví dụ của bạn rất hay, mình có thể giải thích ngắn gọn như sau:
var Object1 = ShowNum1(); => Viết như thế này là gán giá trị trả về của hàm cho biến rồi. Do đó gọi như biến thông thường là nó sẽ chạy. var Object1 = function... => Viết như thế này thì lại không phải là truyền giá trị mà chỉ là truyền tham chiếu (truyền con trỏ hàm) sang cho biến. Và muốn gọi kết quả của hàm ra thì phải gọi con trỏ và dùng dấu () để thực thi hàm như function() bình thường.
Bạn có thể đọc thêm về con trỏ hàm trong javascript ở đây https://codeburst.io/explaining-value-vs-reference-in-javascript-647a975e12a0