کاربر تایید شده
آخرین فعالیت ١ ماه پیش

@jserver

پارس کلیکی از ١ سال پیش

تجربه

4900

  • ١ ماه پیش @jserver یک بحث به اسم مشکل در استفاده از توابع کمکی درست کرد.

    سلا دوستان خسته نباشید من با لاراول و ویو جی اس استفاده می کنم و برای پروژه حالا مشکلی که پیش اومده اینکه توابع کمکی لاراول در داخل کمپوننت قابل استفاده نیست.در واقع چطو از توابع کمکی لارول و توابع کمکی که خودم تعریف می کنیم داخل component های vuejs استفاده کنیم؟

  • ٢ ماه پیش @jserver یک بحث به اسم لاراول پکیج درست کرد.

    سلام دوستان من دارم یک پکیچ برای لاراول می نویسم که می خوام داخلش بعد از این که مثلا کاربری ثبت شد پیام نمایش بده به کاربر. من از sweetalert استفاده کردم و یک کلاس FlashMessage استفاده کردم و با دستور زیر در داخل provider معرفی می کنم

    $this->app->bind('message', function ($app) {
        return new FlashMessage();
    });

    مشکل اینجاست وقتی توی صفحه ای اصلی فرخوانی می کنم پیام نمایش داده می شود ولی وقتی چیزی در ثبت می کنم و یا ویرایش می کنم موقع اینکه از متد بر می گردم عقب یعنی back() پیام نمایش داده نمی شود. در ضمن من برای استفاده از FlashMessage از توابعی کمکی لاراول استفاده می کنم app('message')

  • ٢ ماه پیش @jserver عضو بحث لاراول پکیج شد.
  • @amir وای من دارم دیونه می شم تست رو درست می کنم ولی اجرا نمی شه مثال : اول دستور php artisan make:test UserTest بعد داخل تست UsetTest

    class UserTest extends TestCase
    {
    
        public function testBaseTest()
        {
            $response = $this->get('/');
    
            $response->assertStatus(200);
        }
        public function testDatabase()
        {
            // Make call to application ...
            $this->assertDatabaseHas('offer', [
                'offer_type' => 'customers'
            ]);
        }
    }

    بعد دستور phpunit ولی هیچی

  • @behzad حالا به دلایلی تهران رو تو اولویت دوم قرار دادم چون خوددم تهرانی نیستم الان ترم سه کارشناسی لیست کتاب ها خیلی زیاده تو اینترنت جستجو کنی هست البته اونا منابع هستن

  • اگه بخوای تو دانشگاه دولتی خوب قبول بشی خودن می دونی باید زیاد تلاش کنی و بخونی. در رشته های فنی حرفه ای اکثرا عملی تدریس می شه و بیشتر کلاس ها کارگاه داره اما کامپیوتر خودندن در رشته ریاضی فیزیک همش تئوری افرادی که کامپیوتر را از طریق ریاضی فیزیک خوندن اکثرا معلم یا استاد می شن برای دانشگاه های فنی حر فه ای یا خود ریاضی فیزیک. من خودم تو دانشگاه فنی حرفه ای تبریز می خونم با رتبه 43 اگه بخوایی بخونی انتشارات گسترش علوم پایه خوبه البته مدرسان شریف هم است

  • @amir استاد نصب کردم من تست ها درس می کنم بعد که دستور phpunit اجرا می کنم اینجوری می شه testing-no-exec

  • @shahryarjb ممنون از راهنمایی شما همانطور که می دانید گیت لب هم 20 مرداد تحریم شد.من خودم از گیت لب بیشتر استفاده می کردم تا گیت هاب اگه هم فیلتر بزنم چون به سرور وصل می شم و مشکلات خودشو داره یعنی شما می فرمایید من داکر رو روی لب تابم لوکالی نصب کنم بعد روی آن کانتینر ایجاد کنم.

  • ۶ ماه پیش @jserver یک بحث به اسم کار بر روی پروژه آپلود شده روی سرور درست کرد.

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

    من چطوری میتونم همزمان روی یک پروژه که روی سرور در حال اجراست کار کنم و بخش های که اضافه کنم و بدون دخالت روی پروژه اصلی .همان طور که میدانید در گیت برای مدیریت بخش ها از شاخه ها استفاده می شود و روی هر کدام از شاخه باشم یعنی (checkout شده) تغییرات اون رو نمایش می شود ولی من می خواهم در حالت development باشم و کار کنم تغییرات را مشاهده کنم و کاربرانی که از سایت دیدن می کنند از روی شاخه master باشد

  • من پروژه کار کردم روی سیستم خودم بعد با گیت مدیریتش می گردم الان همون رو همین جوری روی سرور آپلود کردم بعد اگه من یه ریپازیتوری تو گیت هاب ایجاد کنم. اونجا هم آپلود کنم دو تپروژه تو دوجا می مونه . بعد من همزمان روی پروژه کار می کنم و که روی شاخه ای غیر مستر است که تغیرات رو بدون یکی کردن اعمال می شه

  • مشکل اینجاست که وقتی من فایل ها رو تغییر می دم روی شاخه ای غیر master رو پروژه اصلی تاثیر می گذاره مثلا اگه خطای syntax داشته داشته باشم روی پروژه اعمال می شه

  • ۶ ماه پیش @jserver یک بحث به اسم نحوه ای کار روی سرور و مدیریت با گیت درست کرد.

    سلام دوستان خسته نباشید من یک سرور اختصاصی دارم که روش Git هم هست الان من می خوام روی پروژه که در حال اجراست up است روی شاخه (branch) دیگر کار کنم هر وقت روی شاخه master شاخه رو merge کردم روی پروژه اعمال بشه

  • من می خوام چندین where بزارم چون تو جدول کاربر ها فیلد های اختیاری وجود دارند اول چک می کنم اگه اون پر شده باشد بعد شرط را برقرار کند واسه همین از query builder ها استفاده کردم و باز انجا هم به موقعی به مشکل بر می خورم که اگر سه تا کاربر در فیلد های مختلف داده پر کنند تواون چند شرط برای همه آنها اجرا می شود ولی من مخوام که هر شرط برای هر کاربر اجرا شود. یعنی وقتی شرط فیلد بالایی ست می شه برای فیلد ها پایینی نیز تاثیر می زاره .اگر بخوام where رو با استفاده از Eloquent ها استفاده کنم باید تو هر شرط همه شو بنویسم که به نظرم خیلی بد می شه.

    این هم ساختار کد ها : البته این همه ای شرط ها نیست باید چند شرط دیگر هم اضافه کنم.

    switch ($offer_type) {
                case 'none':
                    $offer = Offer::query();
                    $offer->where('receiver_id', userable_id());
                    $offer->where('state', 1);
                    $offer->where('offer_time_type', 'none');
                    $offer->each(function ($item) use ($offer, $now, $ownerInfo) {
                        if ($item->prev_shop_count !== null && is_integer($item->prev_shop_count)) {
                            $offer->where('prev_shop_count', '<=', $ownerInfo['shop_count']);
                        }
                        if ($item->prev_shop_amount !== null && is_integer($item->prev_shop_amount)) {
    //                        $offer->where('prev_shop_amount', '<=', $ownerInfo['cash_amount']);
                        }
                        if ($item->min_shop_amount !== null && is_integer($item->min_shop_amount)) {
    //                        $offer->where('min_shop_amount', '<=', $ownerInfo['credit_amount']);
                        }
                    });
                    return $offer->get()->toArray();
                    break;
                case 'range':
                    $offer = Offer::query();
                    $offer->where('receiver_id', userable_id());
                    $offer->where('state', 1);
                    $offer->where('offer_time_type', 'range');
                    $offer->each(function ($item) use ($offer, $now) {
                        $offer->where(function ($query) use ($item, $now) {
                            $query->whereBetween('date_from', [$item->date_from, $now]);
                            $query->whereBetween('date_untill', [$now, $item->date_untill]);
                        });
                    });
                    return $offer->get()->toArray();
                    break;
                case 'specific':
                    $offer = Offer::query();
                    $offer->where('receiver_id', userable_id());
                    $offer->where('state', 1);
                    $offer->where('offer_time_type', 'specific');
                    $offer->each(function ($item) use ($offer) {
                        $isToday = \Carbon\Carbon::parse($item->date)->isToday();
                        if ($isToday) {
                            $offer->whereDate('date', $item->date);
                            $getOffers[] = $offer->get()->toArray();
                        }
                    });
                    return $offer->get()->toArray();
                    break;
                case 'custome':
                    $offer = Offer::query();
                    $offer->where('receiver_id', userable_id());
                    $offer->where('state', 1);
                    $offer->where('offer_time_type', 'custome');
                    $offer->each(function ($item) use ($offer) {
                        $carbon = \Carbon\Carbon::now();
                        if ($item->custome_time == 'once_a_week') {
                            $day = $carbon->dayOfWeek + 1;
                            $offer->where('once_a_week', $carbon->dayOfWeek);
                        } elseif ($item->custome_time == 'once_a_month') {
                            $dayOfMonth = (int)date('d');
                            $offer->orWhere('once_a_month', $dayOfMonth);
                        }
                    });
                    return $offer->get()->toArray();
                    break;
                default:
                    return [];
            }
  • @amir الان که از refactoring خیلی بده به نظر من تنها راه چاره اینه تو هر شرط داده ها رو باید get کنم . البته این همه ای شرط ها نیست باید چند شرط دیگر هم اضافه کنم و بعد برای هر case این کار باید انجام شود. و مشکل هر بار get کردن داده اینه که شرط ها ی بالای برای شرط های پایینی اعمال می شه و نمی شه هربار شرط گذاشتن شرط پایین رو clear کرد

  • این متد چک میکنه که کاربر تخفیف داره یا نه ولی مشکلی که داره اینه وقتی دوتا تخفیف باشه و شرط ها مختلف برای هر دو انها ست می شه که منو نمی خوام دو سه جور دیگه هم نوشتم اما هنوز راه حلی پیاده نکردم

    switch ($offer_type) {
                case 'none':
                    $offer = Offer::query();
                    $offer->where('receiver_id', userable_id());
                    $offer->where('state', 1);
                    $offer->where('offer_time_type', 'none');
                    $offer->each(function ($item) use ($offer, $now, $ownerInfo) {
                        if ($item->prev_shop_count !== null && is_integer($item->prev_shop_count)) {
                            $offer->where('prev_shop_count', '<=', $ownerInfo['shop_count']);
                        }
                        if ($item->prev_shop_amount !== null && is_integer($item->prev_shop_amount)) {
    //                        $offer->where('prev_shop_amount', '<=', $ownerInfo['cash_amount']);
                        }
                        if ($item->min_shop_amount !== null && is_integer($item->min_shop_amount)) {
    //                        $offer->where('min_shop_amount', '<=', $ownerInfo['credit_amount']);
                        }
                    });
                    return $offer->get()->toArray();
                    break;
                case 'range':
                    $offer = Offer::query();
                    $offer->where('receiver_id', userable_id());
                    $offer->where('state', 1);
                    $offer->where('offer_time_type', 'range');
                    $offer->each(function ($item) use ($offer, $now) {
                        $offer->where(function ($query) use ($item, $now) {
                            $query->whereBetween('date_from', [$item->date_from, $now]);
                            $query->whereBetween('date_untill', [$now, $item->date_untill]);
                        });
                    });
                    return $offer->get()->toArray();
                    break;
                case 'specific':
                    $offer = Offer::query();
                    $offer->where('receiver_id', userable_id());
                    $offer->where('state', 1);
                    $offer->where('offer_time_type', 'specific');
                    $offer->each(function ($item) use ($offer) {
                        $isToday = \Carbon\Carbon::parse($item->date)->isToday();
                        if ($isToday) {
                            $offer->whereDate('date', $item->date);
                            $getOffers[] = $offer->get()->toArray();
                        }
                    });
                    return $offer->get()->toArray();
                    break;
                case 'custome':
                    $offer = Offer::query();
                    $offer->where('receiver_id', userable_id());
                    $offer->where('state', 1);
                    $offer->where('offer_time_type', 'custome');
                    $offer->each(function ($item) use ($offer) {
                        $carbon = \Carbon\Carbon::now();
                        if ($item->custome_time == 'once_a_week') {
                            $day = $carbon->dayOfWeek + 1;
                            $offer->where('once_a_week', $carbon->dayOfWeek);
                        } elseif ($item->custome_time == 'once_a_month') {
                            $dayOfMonth = (int)date('d');
                            $offer->orWhere('once_a_month', $dayOfMonth);
                        }
                    });
                    return $offer->get()->toArray();
                    break;
                default:
                    return [];
            }
  • ممنون آقای عظیمی ولی اون روش که شما گفتین جواب نمیده چون من نمی خوام چندین where بزارم چون تو جدول کاربر ها فیلد های اختیاری وجود دارند اول چک می کنم اگه اون پر شده باشد بعد شرط را برقرار کند واسه همین از query builder ها استفاده کردم و باز انجا هم به موقعی به مشکل بر می خورم که اگر سه تا کاربر در فیلد های مختلف داده پر کنند تون چند شرط برای همه آنها اجرا می شود ولی من مخوام که هر شرط برای هر کاربر اجرا شود

  • ۶ ماه پیش @jserver یک بحث به اسم انتخاب کردن در دو بازه زمانی خاص درست کرد.

    سوال اول

    من یه سیستمی دارم که به کاربر ها کد تخفیف می ده ولی می خوام کد تخفیف در بازه زمانی خاصی باشد یعنی از تاریخ 2018-09-10 تا 15-09-2018 و بعد اون غیر فعال شود یعنی تو دستور Select من نیاید من برای مدیریت آن تو جدول های دو فیلد موقع ایجاد گذاشتم date_to date_from که تاریخ رو مدیر انتخاب کند.

    یک نکته ای هم اشاره کنم من از دستور Between استفاده کردم اما کار نکرد اون هم به دلیل که نمی خوام از جدول از بازه زمانی خاص تا بازه زمانی دیگر انتخاب کنم بلکه می خوتم الان چک کنم بکه الان آن بازه زمانی خاص است

    سوال دوم

    اگر بخوام تو لارول از چندین where استفاده کنم یعنی بیش از 10 شرط بهترین روش چی می تونه باشه در اینجا از Query Builder ها استفاده کردم

    $user=User::query();
    
    if(is_condition) {
        $user->where('name','ali')
    }
    if(is_condition) {
        $user->orWhere('name','ali')
    }
    $user->get();
    
  • ١ سال پیش @jserver به بحث چند سوال در مورد لاراول جواب داد.

    آخه اون موقع هم خطلی زیر رو می ده

    file_get_contents(F:\xampp\htdocs\Server-Side\storage\app/public\workshop-image/139611152001_ee.png): failed to open stream: Permission denied (View: F:\xampp\htdocs\Server-Side\resources\views\pages\workshops.blade.php)
  • ١ سال پیش @jserver به بحث چند سوال در مورد لاراول جواب داد.

    نمی دونم منظورم رو فهمیدین یا نه

  • ١ سال پیش @jserver به بحث چند سوال در مورد لاراول جواب داد.

    آخه مشکل از اینجا شروع می شه که موقع آپلود عکس لاراول یه پوشه با نام همون عکس درست می کنه و عکس رو داخل اون آپلود می کنه و نام عکس رو هم هش میکنه و موقع نمایش یا حذف به مشکل بر می خورم که باید با پوشه کار کنم یعنی باید مو قع حذف پوشه حذف کنم و موقع نمایش محتویات باید اطلاعات پوشه فراخوانی بشه

    لیست پوشه ها که بعد از آپلود عکس http://s8.picofile.com/file/8318545750/folder.jpg نام عکس ها که داخل پوشه بعدآپلود http://s8.picofile.com/file/8318545776/file.jpg

  • ١ سال پیش @jserver به بحث چند سوال در مورد لاراول جواب داد.

    سلام آقای عظیمی ممنون خسته نباشید مشکلی با کار با فایل ندارم حتی یه پروژ مدیریت فایل با لاراول ساختم حتی عکس هم آپلود می کنم و نمایش می دم ولی برای نمایش عکس باید از این تابع که خودم ساختم استفاده می کنم که فکر می کنم لاراول باید تابعی داشته باشه که عکس ها نمایش بده کد تابعی که من نوشتم

    function imageUrl($prefix,$path)
    {
        $file = Storage::files($prefix.'-image/'.$path);
        return '/storage/'.$file[0];
    }
  • ١ سال پیش @jserver یک بحث به اسم چند سوال در مورد لاراول درست کرد.

    سوال اول موقع آپلود عکس در لاراول 5.5.33 یک پوشه می سازه با نام همون عکس و عکس رو داخل اون آپلود می کنه و نام خود عکس رو hash می کنه حالا من چطور اون عکس رو نمایش بدم چون نام عکس که در پایگاداده ذخیره کردم نام پوشه است زیر نام پوشه IMG_2615.JPG و نام خود عکس داخل پوشه jfm9yj8kDy3utqErLduBfqkDN75PkrZ0Yipli4yL.jpeg سوال دوم در لارول برای textarea ها از tinymc استفاده کردم اما فرم submit نمی شه باید چند بار صفحه reload کنم تا submit بشه سوال سوم موقع آپلود سایت روی هاست فقط محتویات پوشه public داخل پوشه public_html آپلود کنم یا همه فایل ها و پوشه های لاراوا رو داخل پوشه public_html آپلود کنم

  • ١ سال پیش @jserver عضو بحث چند سوال در مورد لاراول شد.
  • سلام دوست عزیز شما می توانید با استفاده از session این کار انجام دهید مثلا کاربر موقع ورود به پنل مدیریت session set بکنید کردین چک کنید

    این لینک هم می تونه کمک کنه

    https://stackoverflow.com/questions/1243150/php-sessions-to-authenticate-user-on-login-form

  • ١ سال پیش @jserver به بحث مهاجرت از ایران جواب داد.

    سلام دوستان اگه کسی می خواد مهاجرت کنه بهتره پادکست های رادیو دال رو دنبال کنه