LINUX.ORG.RU

История изменений

Исправление 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(); — не обязательно