Tạo sự kiện onclick trong laravel như thế nào?
Laravel là framework của PHP, mà PHP lại là ngôn ngữ lập trình phía server => ko có sự kiện onclick nha.
Bạn phải làm cái này ở phía javascript.
Có nhiều cách, bạn có thể làm cách này cho đơn giản:
- Đặt 1 input type = hidden ở home với value = auth()->check() ? 1 : 0 để lưu trạng thái user login hay chưa
- Bắt sự kiện onBlur hoặc onClick trên input kia, khi nhận đc sự kiện click lên input thì bạn get value của thằng input ở bước 1. Nếu bằng 0 thì redirect nó tới trang login, hoặc show form login
Hêt!
quy đổi đơn vị trong php laravel
Tham khảo này bạn:
https://stackoverflow.com/questions/10221694/convert-number-into-xx-xx-million-format/10221725
Bạn tạo 1 cái helper rồi gọi dùng khi cần thui
<?php
function nice_number($n) {
// first strip any formatting;
$n = (0+str_replace(",", "", $n));
// is this a number?
if (!is_numeric($n)) return false;
// now filter it;
if ($n > 1000000000000) return round(($n/1000000000000), 2).' nghìn tỉ';
elseif ($n > 1000000000) return round(($n/1000000000), 2).' tỉ';
elseif ($n > 1000000) return round(($n/1000000), 2).' triệu';
elseif ($n > 1000) return round(($n/1000), 2).' nghìn';
return number_format($n);
}
echo nice_number('14120000'); //14.12 triệu
?>
notification firebase laravel
Hình như có cách có thể check device token có valid hay là không đó bạn.
Tham khảo:
- https://developers.google.com/instance-id/reference/server
- https://stackoverflow.com/questions/38442434/firebase-cloud-messaging-how-to-validate-tokens
Ngoài ra, bạn nên xóa những token mà đã từng bị invalid đi, để lần sau có gửi notify nó ko bị lặp lại nữa.
Hỏi về thanh toán Stripe trong laravel
@nhatnguyen123321
Có cách nào mà Bên fontEnd Call lên api của Stripe => stripe trả respone xuống database luôn được ko?
Câu trả lời là không có cách nào đâu bạn nhé.
Cách bạn nói phức tạp là cách tốt nhất, mình thấy dịch vụ thanh toán nào cũng làm như vậy.
Nên mình nghĩ bạn cứ giữ đúng follow của nhà cung cấp thôi.
Cách của @phamtuananh760 mình nghĩ đơn giản hơn đc chút.
Nhưng mà sẽ có rủi ro, nếu bạn bị đánh cắp thông tin thẻ khi truyền từ frontend tới server của chính mình, thì lỗi thuộc về bạn.
Còn nếu bạn dùng form hay sdk của Stripe gửi đi, thì bên stripe đã làm luôn phần sercurity cho bạn rồi. Bạn cũng đỡ phải lo nhiều hơn.
Nên mình khuyên bạn nên dùng các mà bạn nói là phức tạp nhé. Thực ra nó cũng ko phức tạp gì đâu, thêm mỗi 1 bước thôi mà.
Hỏi về Role Middleware trong laravel
@nhatnguyen123321
Bạn tìm hiểu về sanctum hỗ trợ authentication cho api trong Laravel nhé.
https://laravel.com/docs/8.x/sanctum
Lý do bạn gọi Auth::user() nó ra null là vì khi bạn gọi api thì trên server ko nhận được cookie ở client truyền lên.
Chính vì thế bạn phải truyền lên 1 cái gì đó khi call api, thì sanctum hỗ trợ cho bạn phần access token, khi bạn truyền
access_token lên thì bạn có thể lấy đc user info thông qua $request->user('sanctum');
Hỏi về query trong laravel
@nhatnguyen123321
Bạn dùng whereHas nhé.
https://laravel.com/docs/8.x/eloquent-relationships#querying-relationship-existence
$user= User:whereHas('tokens', function () use ($token) {
$query->where('token', $token);
})->first();
Nhớ đừng quên thiết lập quan hệ trong model User nhé.
Cách xóa file zip sau khi download trong Laravel
Bạn dùng deleteFileAfterSend() nhé.
return response()->download($zipFile)->deleteFileAfterSend();
Làm thế nào để chuyển đổi từ array sang object trong php
Thử cái này đc ko bạn.
print_r(json_encode(json_decode($inputArr), false));
em mới tìm hiểu về node js mong mn giúp em ạ
Như bạn nói thì mình đang hiểu trang web có api kia, đang block domain của bạn.
Vậy thì bên kia đã setting CORS phía server của họ và bạn không có cách nào call api từ website đó đâu.
Trừ khi bên đó thêm cấu hình chia sẻ cho domain của bạn thì bạn mới call Api đc nhé.
Phần cài đặt CORS đó nằm ở phía server của họ chứ ko phải phía bạn (phía call Api).
Làm cách nào để ẩn request khi change select
@DiepThu
Có 2 cách để request input ẩn ko đc gửi lên.
Cách 1: Bạn đừng thêm name cho input hay select đó
Cách 2: Vẫn có name cũng đc, nhưng bạn thêm attribute "disabled" vào cho input hay select đó nữa là đc
hỏi về extendtion trong vscode
Để auto import thì bạn tìm hiểu về package "PHP Intelephense"
Còn để gợi ý code thì bạn thử search Symfony Snippet nhé
hỏi về photoshop
Mình chưa cài cái này bao giờ, nhưng để trả lời cho câu hỏi em bị lỗi gì vậy
Thì bạn cần cái thêm package mono và gecko.
Lỗi user.reg ko được tìm thấy
Có thể bạn chưa cài 2 package kia nên là nó ko tìm thấy.
Bạn chịu khó đọc log và làm theo log thôi.
Cái error màu đỏ kia, bạn copy lên google search là ra ý mà.
Hỏi về xử lý stt danh sách và Object Javascript
@zingler
Trong danh sách bạn sẽ có 2 sự kiện làm thay đổi STT:
Khi add: thì bạn chỉ cần lấy STT cuối cùng rồi + 1
Khi delete: Bạn phải duyệt qua toàn bộ row để đánh số lại là đc nha.
Chúc bạn thành công.
Hỏi cách deploy laravel trên heroku ?
@thug_offical Mình cũng mới deploy thử hqua nhưng ko move index.php ra khỏi public
web: vendor/bin/heroku-php-nginx -C nginx_app.conf /public
Bạn thử của bạn thế này xem ok ko
web: vendor/bin/heroku-php-nginx -C nginx_app.conf /
Cho mình hỏi về thực tập nodejs ạ?
Mình nghĩ câu trả lời nằm trong con người bạn thôi
Hiện tại các công ty IT vẫn luôn khát nhân lực, nếu bạn có tư duy ổn thì nhiều công ty sẵn sàng nhận bạn ngay cả khi bạn chưa học tí nodejs nào để về trainning.
Còn plan của bạn học tận 3 tháng thì mình nghĩ chắc chắn là nhiều công ty nhận bạn đó.
Bạn chỉ cần hiểu đc hết những điều cơ bản về nodejs, javascript + những thứ bạn đã học là OK nhé.
Chúc bạn tự tin thành công nhé.
[Laravel] xử lý dữ liệu cùng một thời điểm
@tinhtn89
Bạn thử đối ứng nó bằng queue nhé.
Tham khảo doc: https://laravel.com/docs/8.x/queues#introduction
Thay vì request rút tiền đến, bạn sẽ xử lý cho phép rút tiền ngay.
Thì bạn dispatch 1 lệnh rút tiền vào trong queue.
Tương tự với hàm gửi tiền cũng thế.
Queue giúp bạn đảm bảo được, mỗi thời điểm chỉ có 1 job rút tiền hay gửi tiền đc chạy.
Tiện thể bạn đặt tên hàm là tăng điểm à tangdiem
Cố gắng đặt lên dễ hiểu xíu nữa nhé.
[Laravel] Không thể select dữ liệu từ nhiều bảng dữ liệu
@ungthanhlong251198
Bạn thử dùng eager loading hoặc lazy loading nhé.
https://laravel.com/docs/8.x/eloquent-relationships#eager-loading
Hỏi về cách set encoding khi export CSV sử dụng Laravel Excel
Bạn thử sử dụng Excel::raw để get content của file csv ra, rồi convert tới encoding bạn muốn. Sau đó thực hiện download hay upload đi đâu thì tùy.
$exportedObject= new \App\Exports\ClassExport($exportDataArray, $fileName);
$csvContent = \Excel::raw($exportedObject, $exportedObject->writerType);
$csvContent = mb_convert_encoding($csvContent, 'SJIS', 'auto');
// In my case, I upload my csv to S3.
$storageInstance = \Storage::disk('s3_import_csvs');
$putFileOnStorage = $storageInstance->put($fileName, $csvContent);
Cho em hỏi về cách call API trong Laravel với ạ.
Về cái lỗi kia mình khi là do khác biệt giữa version gì đó. (Ý mình là guzzlehttp/guzzle)
Mặc định body trong Http-Client đc chuyển sang json. Nên mình nghĩ ko cần bước convert sang json kia nữa đâu, Bạn thử code này xem.
$response = Http::withHeaders([
'Authorization' => "Bearer {$accessToken}",
'Content-Type' => "application/json"
])
->post('https://graph.microsoft.com/v1.0/users', $sigupInfo);
Mysql trong xampp của em bị lỗi không start đc. ai giúp e với ạ
E làm theo cách này nhé.
A cũng mới search ở stackoverflow thui.
Có khác nhiều người gặp cái này. Nhưng cách an toàn để không mất data là đây ↓
- Rename the folder mysql/data to mysql/data_old (you can use any name)
- Create a new folder mysql/data
- Copy the content that resides in mysql/backup to the new mysql/data folder
- Copy all your database folders that are in mysql/data_old to mysql/data (skipping the mysql, performance_schema, and phpmyadmin folders from data_old)
- Finally copy the ibdata1 file from mysql/data_old and replace it inside mysql/data folder
- Start MySQL from XAMPP control panel