Nano Hash - криптовалюты, майнинг, программирование

не может сохранить новые данные и преобразование массива в строку?

введите здесь описание изображения

Модель в ларавеле

"Преобразование массива в строку (SQL: обновление spent_times set updated_at = 2018-10-18 06:02:29, spent_time = 12, percentage = 60,00, task_category = тестирование, где id = 7) ◀"

public static function findOrCreate($plan_id, $data)
{
    $fromDate = Carbon::now()->subDay()->startOfWeek()->toDateString();
    $nowDate = Carbon::now()->today()->toDateString();

    $spent_time = static::where('plan_id', $plan_id)->first();

    if (is_null($spent_time)) {
        return static::create($data);
    }else{
        $new_spent_time = SpentTime::find($plan_id);
        $task_category = $new_spent_time->task_category;

        $new_spent_time->task_category = (['{task_category}' => $task_category, 
                                        '{daily_spent_time}' => $new_spent_time->daily_spent_time,
                                        '{daily_percentage}' => $new_spent_time->daily_percentage,
                                        '{spent_time}' => $new_spent_time->spent_time,
                                        '{percentage}' => $new_spent_time->percentage]);


        $new_spent_time->spent_time = $new_spent_time::where('task_category', $task_category)->sum('daily_spent_time', $new_spent_time->daily_spent_time, $fromDate);
        $request['spent_time'] = (int)$new_spent_time->spent_time + $spent_time->daily_spent_time;

        $new_spent_time->percentage = SpentTime::where('task_category', $spent_time->task_category)->sum('daily_percentage', $new_spent_time->daily_percentage, $fromDate);
        $request['percentage'] = (int)$new_spent_time->percentage  + $spent_time->daily_percentage;
        $new_spent_time->save();
        return $spent_time->update($data);
    }
}

Контроллер в ларавеле

в хранилище функций не может сохранять данные и не может вычислять данные по категориям при создании новых данных, данные должны быть рассчитаны и введены в таблицу, как показано на рисунке. введите здесь описание изображения

public function store(Request $request)
{      
    $spent_time = SpentTime::findOrCreate($request->get('plan_id'), [
        'plan_id' => $request->get ('plan_id'),
        'daily_spent_time' => $request->get ('daily_spent_time'),
        'daily_percentage' => $request->get ('daily_percentage'),
        'reason' => $request->get ('reason')
    ]);

    return redirect()->route('real.index', compact( 'spent_time'));
}

  • вы создаете $new_raspent_time-›task_category как массив и используете его как строку 18.10.2018
  • @ImranQamer Итак, что мне использовать? :) просить помощи 18.10.2018
  • Вы можете показать мне данные вашей таблицы? 18.10.2018
  • Также опубликуйте полное сообщение об ошибке с номером строки и завершите запрос с ошибкой. 18.10.2018
  • @ImranQamer в таблице затраченное_время: id, затраченное_время, daily_spent_time, процент, daily_percentage, task_category, причина и план_id. 18.10.2018
  • @ImranQamer Array to string conversion (SQL: update spent_times` установить updated_at = 2018-10-18 06:40:11, spent_time = 12, percentage = 60.00, task_category = тестирование, где id = 7)' это ошибка, когда я создаю новые данные с новой категорией, когда я оставить такую ​​ошибку. 18.10.2018
  • хорошо, вы должны объединить пункты where отдельно 18.10.2018
  • например, где('task_category', 'тестирование')->where('daily_spent_time', '12') 18.10.2018
  • @ImranQamer Да, результаты расчета правильные, просто не могу сохранить, и ошибка остается, как указано выше. 18.10.2018

Ответы:


1

У вас ошибка в строке ниже

$new_spent_time->percentage = SpentTime::where('task_category', $spent_time->task_category)->sum('daily_percentage', $new_spent_time->daily_percentage, $fromDate);

Здесь вы назначаете $spent_time->task_category (массив) 'task_category' (строковое поле).

Измените значение вышеуказанной переменной, это решит вашу проблему.

18.10.2018
  • `$new_spent_time-›percentage = $new_spent_time::where('task_category', $spent_time-›task_category)-›sum('daily_percentage', $new_spent_time-›daily_percentage, $fromDate);' как это? 18.10.2018
  • не использовать где? просто использовать сумму? 18.10.2018
  • но если я не использую where, то все категории читают все, а не одну и ту же категорию 18.10.2018
  • извините, не могу, есть ли решение для преобразования массивов в строки? о да, почему бы тебе не использовать тимвьювер? 18.10.2018
  • есть ли решение для преобразования массивов в строки? 18.10.2018
  • да, но я не понимаю цель ошибки, не могли бы вы мне помочь? 19.10.2018
  • вы можете увидеть stackoverflow.com/questions/52889490/ 22.10.2018

  • 2

    Модель

    public static function findOrCreate($plan_id, $data)
    {
        $fromDate = Carbon::now()->subDay()->startOfWeek()->toDateString();
        $nowDate = Carbon::now()->today()->toDateString();
    
        $spent_time = static::where('plan_id', $plan_id)->first();
    
        if (is_null($spent_time)) {
            return static::create($data);
        }else{
    
            $new_spent_time = SpentTime::find($plan_id);
            $task_category = $new_spent_time->task_category;
    
            $new_spent_time->task_category = (['{task_category}' => $task_category, 
                                            '{daily_spent_time}' => $new_spent_time->daily_spent_time,
                                            '{daily_percentage}' => $new_spent_time->daily_percentage,
                                            '{spent_time}' => $new_spent_time->spent_time,
                                            '{percentage}' => $new_spent_time->percentage, $new_spent_time->task_category]);
    
    
            $new_spent_time->spent_time = $new_spent_time::where('task_category',$task_category)
                                        ->sum('daily_spent_time', $new_spent_time->daily_spent_time , $fromDate);
            $request['spent_time'] = (int)$new_spent_time->spent_time + $spent_time->daily_spent_time;
    
            $new_spent_time->percentage = $new_spent_time::where('task_category',$spent_time->task_category)
                                        ->sum('daily_percentage', $new_spent_time->daily_percentage, $fromDate);
            $request['percentage'] = (int)$new_spent_time->percentage  + $spent_time->daily_percentage;
            $new_spent_time->save();
    
            return $spent_time->update($data);
        }
    }
    

    Контроллер

    public function store(Request $request)
    {      
        $spent_time = SpentTime::findOrCreate($request->get('plan_id'), [
            'plan_id' => $request->get ('plan_id'),
            'daily_spent_time' => $request->get ('daily_spent_time'),
            'daily_percentage' => $request->get ('daily_percentage'),
            'reason' => $request->get ('reason')
        ]);
        return redirect()->route('real.index', compact( 'spent_time'));
    }
    
    18.10.2018
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..