История изменений
Исправление
KRoN73,
(текущая версия)
:
Именно это она и делает
Она возвращает простой хеш. А не инициирует данными объект со своими методами и логикой. И не обеспечивает последующее сохранение модифицированного кеша.
Что я и пытаюсь выяснить битый час, связывает ли эта функция данные и сохраняет ли их после модификации?
Да, загрузка — это только одна половина ORM. Вторая — сохранение. Хотя именно во взятом в качестве примера Sparrow сохранение ручное и не особо удобное. Я его приводил просто как пример синтаксиса с поддержкой JOIN.
Вот как в других ORM, так нагляднее:
Axon:
$product=new Axon('products'); // Automatically reads the schema
$product->product_id=123;
$product->description='Sofa bed';
$product->save(); // ORM knows it's a new record
Idiorm:
$user = ORM::for_table('user')
->where_equal('username', 'j4mie')
->find_one();
$user->first_name = 'Jamie';
$user->save();
В некоторых, например у меня, сохранение происходит автоматически по завершению работы скрипта (хотя где нужно — можно вызвать и принудительно, конечно) и я предпочитаю использовать методы, а не свойства:
$user = User::find(['user_name' => 'j4mie'])
->first();
$user->set_first_name('Jamie');
// $user->save(); — не обязательно
Исправление
KRoN73,
:
Именно это она и делает
Она возвращает простой хеш. А не инициирует данными объект со своими методами и логикой. И не обеспечивает последующее сохранение модифицированного кеша.
Что я и пытаюсь выяснить битый час, связывает ли эта функция данные и сохраняет ли их после модификации?
Да, загрузка — это только одна половина ORM. Вторая — сохранение. Хотя именно во взятом в качестве примера Sparrow сохранение ручное и не особо удобное. Я его приводил просто как пример синтаксиса с поддержкой JOIN.
Вот как в других ORM, так нагляднее:
Axon:
$product=new Axon('products'); // Automatically reads the schema
$product->product_id=123;
$product->description='Sofa bed';
$product->save(); // ORM knows it's a new record
Idiorm:
$user = ORM::for_table('user')
->where_equal('username', 'j4mie')
->find_one();
$user->first_name = 'Jamie';
$user->save();
В некоторых, например у меня, сохранение происходит автоматически по завершению работы скрипта (хотя где нужно — можно вызвать и принудительно, конечно) и я предпочитаю использовать методы, а не свойства:
$user = User::find(['user_name' => 'j4mie'])
>first();
$user->set_first_name('Jamie');
// $user->save(); — не обязательно
Исходная версия
KRoN73,
:
Именно это она и делает
Она возвращает простой хеш. А не инициирует данными объект со своими методами и логикой. И не обеспечивает последующее сохранение модифицированного кеша.
Что я и пытаюсь выяснить битый час, связывает ли эта функция данные и сохраняет ли их после модификации?
Да, загрузка — это только одна половина ORM. Вторая — сохранение. Хотя именно во взятом в качестве примера Sparrow сохранение ручное и не особо удобное. Я его приводил просто как пример синтаксиса с поддержкой JOIN.
Вот как в других ORM, так нагляднее:
Axon:
$product=new Axon('products'); // Automatically reads the above schema
$product->product_id=123;
$product->description='Sofa bed';
$product->save(); // ORM knows it's a new record
Idiorm:
$user = ORM::for_table('user')
->where_equal('username', 'j4mie')
->find_one();
$user->first_name = 'Jamie';
$user->save();
В некоторых, например у меня, сохранение происходит автоматически по завершению работы скрипта (хотя где нужно — можно вызвать и принудительно, конечно) и я предпочитаю использовать методы, а не свойства:
$user = User::find(['user_name' => 'j4mie'])
>first();
$user->set_first_name('Jamie');
// $user->save(); — не обязательно