Приветствую! Ищу ORM, которая умеет самостоятельно определять связи в базе данных и работает приблизительно следующим образом.
Есть MySQL база данных со следующими таблицами:
posts - публикации
authors - авторы
cities - города
countries - страны
Связи настроены соответственно.
У таблицы posts есть поле author, связанное с полем id в таблице authors.
У таблицы authors есть поле city связанное с полем id в таблице cities.
У таблицы cities есть поле country связанное с полем id в таблице countries.
$posts = $db->posts->where(['author.city.country.name' => 'Russia'])->select();
foreach ($posts as $post)
{
echo $post->author->city->name; // выведет название города автора поста
$post->author->name = mb_strtoupper($post->author->name); //
$post->author->save(); // обновит автору имя
}
Есть ли нечто подобное? Redbeanphp пробовал, но там всё несколько сложнее, а в приоритете - именно простота.