Laravel удалить родителя, если связана коллекция

Функция base reshape работает отлично:

df <- data.frame(
  year   = c(rep(2000, 12), rep(2001, 12)),
  month  = rep(1:12, 2),
  values = rnorm(24)
)
df_wide <- reshape(df, idvar="year", timevar="month", v.names="values", direction="wide", sep="_")
df_wide

Здесь idvar - столбец классов, который разделяет строки, timevar - столбец классов, который должен быть широко представлен, v.names - это столбец, содержащий числовые значения, direction указывает широкий или длинный формат, а необязательный аргумент sep - это разделитель, используемый между именами классов timevar и v.names на выходе data.frame. Если нет idvar, создайте его перед использованием функции reshape():

df$id   <- c(rep("year1", 12), rep("year2", 12))
df_wide <- reshape(df, idvar="id", timevar="month", v.names="values", direction="wide", sep="_")
df_wide

Просто помните, что требуется idvar! Часть timevar и v.names проста. Выход этой функции более предсказуем, чем некоторые другие, поскольку все явно определено.

1
задан r2get 23 March 2019 в 00:02
поделиться

1 ответ

мы не можем полностью удалить этот родительский (с индексом), НО вы можете установить их на null, используя transform () , как это;

    $data = DeliveryPartner::when($filter, function ($q) use ($request) {
        })
        ->with(['orders' => function ($query) {
            $query
                  ->where('delivery_partner_invoice_id', '=', '')
                  ->orWhereNull('delivery_partner_invoice_id')
                  ->whereIn('status', ['payment-accepted', 'completed', 'full-refund', 'partial-refund']);
        }])->get()->transform(function($item){

                if(!$item->orders->count() ){
                    return;
                }
                return $item;
        });

Примечание: это не будет полностью удалите этих родителей, но это сделает их пустыми.

0
ответ дан Usman Shareef 23 March 2019 в 00:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: