راکت

آبجکت در لاراول

1 پاسخ

سلام
خسته نباشید دوستان
یه سوالی داشتم

    public function index()
    {
        $phoneBookDTO =  new \App\Http\DTO\GetPhoneBookDTO();
        $phoneBookDTO->userId=auth()->user()->id;
//        dd($phoneBookDTO);
        $phoneBooks = \App\Http\Objects\PhoneBook::getPhoneBooks($phoneBookDTO);
        return view("phoneBook.index", ['phoneBooks' =>$phoneBooks]);
    }

من توی این قسمت وقتی از$phoneBookDTO ،ddمیگیرم بهم مقدار رو برمیگردونه
ولی وقتی به قسمت زیر پاسش میدم مقدار null میده بهم
ممنون میشم اگر راهنماییم کنید

 public static function getPhoneBooks(\App\Http\DTO\GetPhoneBookDTO $getPhoneBookDTO) {

        $phoneBookQuery = \App\Models\Phonebook::query();
        dd($getPhoneBookDTO);

        if(!empty($getPhoneBookDTO->id)) {
            $phoneBookQuery->where("id", $getPhoneBookDTO->id);
        } elseif(!empty($getPhoneBookDTO->ids)) {
            $phoneBookQuery->whereIn("id", $getPhoneBookDTO->ids);
        }

        if(!empty($getPhoneBookDTO->publishStatus) && (count($getPhoneBookDTO->publishStatus) > 0)){
            $phoneBookQuery->whereIn("publish_status", $getPhoneBookDTO->publishStatus);
        }
        if(!is_null($getPhoneBookDTO->status)){
            $phoneBookQuery->where("status", $getPhoneBookDTO->status);
        }

        $superUser= User::query()->where('is_superUser',1)->get('id');
//        dd($getPhoneBookDTO->userId);

//        if ($superUser==$getPhoneBookDTO->userId){
            $phoneBooks = $phoneBookQuery->with(["users", "users.phonetypes"])->get();
//        }

//

        // if(!empty($getPhoneBookDTO->withRelationByOrCondition)){
        //     foreach($getPhoneBookDTO->withRelationByOrCondition as $relationKey => $relationValue){
        //         // $x = $phoneBookQuery->relationships();
        //         // if(in_array($relationKey , $phoneBookQuery->getRelations())){
        //             if(!empty($relationValue)){

        //                 $phoneBookQuery->with([$relationKey => function($query)use($relationValue){
        //                     foreach($relationValue as $key => $relationWhereClause) {
        //                         if ($key === array_key_first($relationValue)) {
        //                             $query->where($relationWhereClause[0], $relationWhereClause[1], $relationWhereClause[2]);
        //                         } else {
        //                             $query->orWhere($relationWhereClause[0], $relationWhereClause[1], $relationWhereClause[2]);
        //                         }
        //                     }
        //                 }]);

        //             } else {
        //                 $phoneBookQuery->with($relationKey);
        //             }
        //         // }
        //     }
        // }
        // DB::enableQueryLog();
//        else{
//            $phoneBooks = $phoneBookQuery->where("user_id",Auth::id())->with(["users", "users.phonetypes"])->get();
//        }
        // dd(DB::getQueryLog());
        return self::make($phoneBooks);
        // dd($phoneBooks);
        // return $phoneBooks;
    }
مشکات
مشکات
@meshkat315
ثبت پرسش جدید

پاسخ‌ها

1
میلاد خسروی
میلاد خسروی
@milwad

تخصص: برنامه نویس بامزه

سلام خسته نباشید
اول بیاید قبل از phoneBookQuery بیاید یه dd بزنید از اون متغیر ارسالی که چیزی توش هست یا نه

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام