Laravel save () показывает неопределенный метод - PullRequest
0 голосов
/ 12 ноября 2018

Я новичок в Laravel, и в настоящее время у меня возникла проблема.

Я пытаюсь вставить запись в другую базу данных, но когда я пытаюсь сохранить ее, выдается следующее сообщение об ошибке:

Вызов неопределенного метода Illuminate \ Database \ Query \ Builder :: save ()

Вот мой код:

$targetedCustomer = Customer::on($this->connection)->where('fusercode', $user->loginname)->first();
if($targetedCustomer->agent_code != $user->agent)
{
    $targetedCustomer->agent_code = $user->agent;
    $targetedCustomer->save();

    $logs = CustomerAgentCodeUpdateLog::on($this->connection);
    $logs->customer_id =  $targetedCustomer->customer_id;
    $logs->old_agent_code = $targetedCustomer->agent_code;
    $logs->new_agent_code = $user->agent;
    $logs->type = 1;
    $logs->save();
}

Ответы [ 2 ]

0 голосов
/ 12 ноября 2018

Метод Illuminate\Database\Eloquent\Model::on() возвращает экземпляр класса Illuminate\Database\Eloquent\Builder, у которого нет метода с именем save(). Поэтому вы должны сделать что-то вроде ниже, чтобы это заработало:

$logs = CustomerAgentCodeUpdateLog::on($this->connection);

$logs->create([
    'customer_id' =>  $targetedCustomer->customer_id;
    'old_agent_code' => $targetedCustomer->agent_code;
    'new_agent_code' => $user->agent;
    'type' => 1;
]);

Вам не нужно звонить save().

0 голосов
/ 12 ноября 2018

Попробуйте этот метод:

$targetedCustomer = Customer::on($this->connection)
    ->where('fusercode', $user->loginname)
    ->first();

if($targetedCustomer and $targetedCustomer->agent_code != $user->agent)
{
    // Set agent code
    $targetedCustomer->agent_code = $user->agent;
    $targetedCustomer->save();

    // New log
    $logs                 = (new CustomerAgentCodeUpdateLog)->on($this->connection); // with `new`
    $logs->customer_id    = $targetedCustomer->customer_id;
    $logs->old_agent_code = $targetedCustomer->agent_code;
    $logs->new_agent_code = $user->agent;
    $logs->type           = 1;
    $logs->save();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...