$rs = Model::with('parent')->какие-то_условия->whereNotNull('parent_id')->get();
foreach($rs as $item) {
$rsParents = $item->parent; // parent - это связь "к себе самой"
if($rsParents->count() > 0) {
$i = 0;
foreach($rsParents as $p_item) {
$i++;
// $item->id.'-Д-'.$i; // Папы с дочками
}
}else{
// $item->id // Холостяк
}
}
$rs = Model::какие-то_условия->get();
foreach($rs as $item) {
if(is_null($item->parent_id)) {
// Основная заявка
}else{
// Дочка
}
}
С материальной точки зрения он приносит адекватную прибыль и уже давно окупился. Но основная проблема в том что я понимаю что нужно двигаться дальше и делать что-то новое, развиваться.
https://aphyr.com/posts/284-call-me-maybe-mongodb
До недавнего времени клиенты MongoDB по умолчанию не беспокоились о том, чтобы проверить успешность их записи: они просто отправляли их и предполагали, что все идет нормально. Все идет так хорошо, как и следовало ожидать.
https://blog.rainforestqa.com/2012-11-05-mongodb-g...
По умолчанию MongoDB позволяет выполнять очень быструю запись и обновление. Компромисс заключается в том, что вы не получаете явных уведомлений о сбоях. По умолчанию большинство драйверов выполняют асинхронную, «небезопасную» запись - это означает, что драйвер не возвращает ошибку напрямую, подобно INSERT DELAYED с MySQL. Если вы хотите узнать, удалось ли что-то, вам нужно вручную проверить наличие ошибок с помощью getLastError.
В случаях, когда вы хотите, чтобы при возникновении каких-либо проблем выдается сообщение об ошибке, в большинстве драйверов просто включить «безопасные» синхронные запросы. Это заставляет MongoDB действовать привычным образом для тех, кто переходит с более традиционной базы данных.