Я обновил свою версию fuelphp с 1.6 до 1.8. После этого я заметил некоторые ошибки запроса MSSQL.
Полученное сообщение об ошибке:
Fuel\Core\Database_Exception [ HY000 (156) ]:
SQLSTATE[HY000]: General error: 156 Incorrect syntax near the keyword 'WHERE'. [156] (severity 15) [UPDATE "invoice_payments" SET WHERE "id" = 91044] with query: "UPDATE "invoice_payments" SET WHERE "id" = 91044"
У меня есть модель счета. Iтолько что загрузил метод модели счета find в другую модель, называемую чеки. Я добавил этот код для загрузки наблюдателя для модели счета.
Загрузил модель счета в другую проверку модели с помощью следующих кодов.
//Force invoice reload and fire observers
$invoice = \Model_Invoice::find($this->invoice->id, ['from_cache' => false]);
Таблица оплаты счетов-фактур имеет много связей с таблицей счетов-фактур.
protected static $_has_many = array(
'checks',
'invoice_payments' => [
'cascade_save' => true,
],
);
// observers in invoice model
protected static $_observers = array(
"Observer_Invoice",
"Observer_Fiscalyear",
"Observer_Invoice_Totals",
"Observer_Invoice_Displayid",
"Observer_Invoice_Paragraphs",
"Observer_Invoice_Token",
"Observer_Invoice_Returnedtodepartment",
'Orm\Observer_CreatedAt' => array(
'mysql_timestamp' => true,
),
'Orm\Observer_UpdatedAt' => array(
'mysql_timestamp' => true,
),
"Observer_Invoice_Capitalize",
);
public static function all_related()
{
return self::$_has_many;
}
Я исправил это с помощью грязного исправления, проверив окончательный запрос в файле query.php вОсновная папка.