我收到一个错误“类stdClass的对象无法转换为字符串”

时间:2019-04-01 12:17:08

标签: laravel

我正在使用DB Facade来获取用户ID,这将提供完美的输出。 但是,当我将该结果用于Eloquent时,会给我一个错误,提示说,

  

stdClass类的对象无法转换为字符串

我的控制器代码:

public function complete_progress(){
    $task_id = session('task_id');
    $e_user = DB::table('e_users')
             ->join('tasks', function($join) use ($task_id){
               $join->on('e_users.id', '=','tasks.task_assign_to')
               ->where('tasks.id', '=', $task_id);
             })
             ->first();
    $data = e_user::find($e_user);
    $task = task::find($task_id);
    $task->task_status = "Completed";
    $data->pending -= 1;
    $data->completed += 1;
    $task->save();
    $data->save();
    session()->flash('complete', 'Task Completed');
    return redirect('homepage');
}

1 个答案:

答案 0 :(得分:0)

您应该在find方法上传递import requests r = requests.get('http://www.chiquitooenterprise.com/password') print(r.text)

id

使用$data = e_user::find(e_user->id); 方法时,laravel搜索与您作为参数传递的id匹配的对象,因此您必须像在参数中那样传递一个id,而不是整个对象。