Uzywaj === a nie ==
Ten kod: (float) str_replace(',', '.', powinien poleciec do funkcji bo jest odpalany 1000 razy
Warunki z tak kobylastych IFow
if (numberOfDigitsAfterComma($data['clientDayRate']) > 6 || numberOfDigitsAfterComma($data['clientOver50Rate']) > 6 || numberOfDigitsAfterComma($data['clientOver100Rate']) > 6 || numberOfDigitsAfterComma($data['clientNightRate']) > 6 || numberOfDigitsAfterComma($data['clientOvernightRate']) > 6 || numberOfDigitsAfterComma($data['clientMonthRate']) > 6 || numberOfDigitsAfterComma($data['clientPieceRate']) > 6 || numberOfDigitsAfterComma($data['workerDayRate']) > 2 || numberOfDigitsAfterComma($data['workerMonthRate']) > 2 || numberOfDigitsAfterComma($data['workerPieceRate']) > 2
powinny poleciec do funcji
if (!empty($errors)) {
return $errors;
} else {
Ten ELSE jest zbedny. Unikaj zbednych zagniezdzen. To powinno byc tak:
if (!empty($errors)) {
return $errors;
}
// a tu kod co byl w ELSE
$idRate = $this->database->lastInsertId();
$rowID = $this->database->query('SELECT id_rate_labour
FROM rate_labour
ORDER BY id_rate_labour
DESC
LIMIT 1');
$rowID = $rowID->fetch();
PO co takie kombinacje? lastInsertId przeciez zwraca ci ostatnie ID. Po co jeszcze raz wyciagasz je zapytaniem?
Rzutuj wartosci do typow jakimi sa
$rowID = (int) $rowID->fetch();
NIe array() a []
Baza danych nie powinna byc inicjalizowana w tym serwisie, tylko do niego ewentualnei juz przekazana
czemu tak?
$rateData = [];
$rateData['client_day'] = $clientDayRate;
$rateData['client_night'] = $clientNightRate;
$rateData['client_other'] = $clientOtherRate;
$rateData['worker_day'] = $workerDayRate;
$rateData['worker_night'] = $workerNightRate;
$rateData['worker_other'] = $workerOtherRate;
$rateData['valid_start'] = $data['validStart'];
$rateData['valid_end'] = $data['validEnd'];
Nie lepiej
$rateData = [
'client_day' => $clientDayRate,
//.....
];
Cytat
Nie używam Git'a (github)
Czas najwyzszy zaczac. Krzywde sobie robisz bez tego