۱۴ آبان، ۱۴۰۰
@jserver به گفتگوی مشکل نگه نداشتن سشن های لاگین بعد از ورود جواب داد.
@m-p از اینا نیست بعدشم اصلا کار منطقی نیست که مستقیم از سشن ها در لاراول استفاده بشه. اصلا شما با لاراول کار کردین؟ . این یه باگ بزرکی که هیچ جا جوابی نداره چند روزه درگیرش هستم درست کردم حتما یه مقاله اش می کنم که بقییه هم استفاده کنن
۱۲ آبان، ۱۴۰۰
@jserver یک گفتگو به اسم مشکل نگه نداشتن سشن های لاگین بعد از ورود درست کرد.
سلام دوستان من قبلا پروژه لاراول داشتم حالا الان که می خوام لاگین رو روش فعال کنم کار نمی کنه یعنی دیوانه ام کرده لاگین می کنم ولی وقتی صفحه ریفرش می شه لاگین می پره همه ای تنظیمات رو هم بررسی کردم درسته middelware
ها درست هستن هر چقدر هم سرچ کردم هیچ راه حلی پیدا نکردم هیچ کدوم کار نکرد لطفا کمک کنید
نسخه لاراول من 6.18.11
هست
۱۹ دی، ۱۳۹۹
@jserver به گفتگوی مشکل در response های لاراول جواب داد.
@mansory این مشکل به خاطر سرور بود اصلا به کد ها مربوط نمی شد
۱۲ آذر، ۱۳۹۹
@jserver به گفتگوی مشکل در response های لاراول جواب داد.
@amir مشکل اینکه پارامتر های ارسالی رو می چسبونه به response
و برمی گردونه اصلا چرا اینجوری می شه؟.. وقتی هم اینجوری ساختار json
به هم می خوره کلا هیچی کار نمی کنه
۱۱ آذر، ۱۳۹۹
@jserver یک گفتگو به اسم مشکل در response های لاراول درست کرد.
سلام به همه ای دوستان یه چند وقتی هست که بعضی مواقع جواب response
های api
به صورت زیر می اد یعنی پارامتر هار که می فرستم می چسبونه و برمی گردونه جالب روی سیستم لوکال هیچ مشکلی نداره اما روی سرور تست این جوری می شه و لی تو سرور اصلی هم درسته .
این پرامتری های که من می فرستم :
{
"email":"[email protected]",
"name":"jeffry way"
}
اینم ریسپانسری که برمی گردون:
{
"email":"[email protected]",
"name":"jeffry way"
}{"data":{"name":"jeffry","family":"way","email":"[email protected]","avatar":"\/upload\/images\/avatar\/2020\/25\/750_743251600_7679139D1BD52E-0A70-4DC0-9692-F3679D94B309.jpg"}}
۲۶ خرداد، ۱۳۹۹
@jserver به گفتگوی خطای پر شدن رم وقتی که کاربر وارد نشده جواب داد.
@jserver من الان اینو متوجه شدم قبلا این خطا رو می داد
The resource owner or authorization server denied the request. {"exception":"[object] (League\\OAuth2\\Server\\Exception\\OAuthServerException(code: 9): The resource owner or authorization server denied the request. at /home/projects/personal-lara/vendor/league/oauth2-server/src/Exception/OAuthServerException.php:223, InvalidArgumentException(code: 0): The JWT string must have two dots at /home/projects/personal-lara/vendor/lcobucci/jwt/src/Parser.php:95)
من برای اینکه این مشکل حل بشه اومدم داخل فایل app/exceptions/handler.php
این کد ها رو اضافه کردم
if ($exception instanceof \League\OAuth2\Server\Exception\OAuthServerException && $exception->getCode() == 9) {
return false;
}
و اون مشکل اول پیش می اد
@jserver به گفتگوی خطای پر شدن رم وقتی که کاربر وارد نشده جواب داد.
@amir اخه مشکل اینکه همیشه این خطا رو نمی ده بعضی موقع این خطا رو می ده توی گوگل هم سرچ می زنم همش می گن که query
سنگین زدین در حالی که اصلا من query
نزدم یه request
ساده است
۲۴ خرداد، ۱۳۹۹
@jserver یک گفتگو به اسم خطای پر شدن رم وقتی که کاربر وارد نشده درست کرد.
سلام دوستان تو پروژه ه ای که انجام می دم نیاز به چند احراز هویت multi-auth
داشتم که از پکیج smartins/passport-multiauth
استفاده کردم درست هم کار می کرد ولی تازگی به این مشکل برخوردم که وقتی کاربر لاگین نشده authenticate
و درخواست بفرسته همون لحظه این خطا رو می ده
{
"message": "Allowed memory size of 134217728 bytes exhausted (tried to allocate 65015808 bytes)",
"exception": "Symfony\\Component\\Debug\\Exception\\FatalErrorException",
"file": "/home/jaffar/www/karmentoinfyom/vendor/laravel/framework/src/Illuminate/Log/Logger.php",
"line": 223,
"trace": []
}
من احتمال دادم از کمبود رم باشه رم php
رو از فایل php.ini
افزایش دادم ولی بازم مشکل درست نشد سرچ کردم ولی راه حل های که وجود داشت جواب نداد.
۱۴ فروردین، ۱۳۹۹
@jserver به گفتگوی نداشتن و نمایش ندادن کی ورد ها در گوگل کیورد پلنر جواب داد.
ممنون آقای @amir مطالعه کردم خیلی خوب بود.. یه سوال دیگه اگه الان بخوام کسی کلمات خاص در گوگل زد تو لیست نتایج ادرس سایت منم هم بیاد باید چیکار کنم مثلا برای پارس کلیک بخواییم کلمات مانند آموزش برنامه نوسی ،آموزش php و ... یا اگه کسی اشتباهی پارس کلیک رو به زبان دیگر تایپ کرد در نتیجه ای بیاد.
این نکته رو هم بگم همه ای موارد مربوط به سئو مانند متا تگ ها ،سرچ کنسول ، وب مستر و تگ منیجر همشون رو انجام دادم ولی تو نتیجه ای صفحه ای اول رو نمی اره مثلا صفحه ای تماس با ما رو اول می اره.۱۳ فروردین، ۱۳۹۹
@jserver به گفتگوی مواظب ایندکس گوگل باشید!! جواب داد.
منکه همیشه اطلاعات تقلبی می دم تا اونجای که امکان داشته باشه
@jserver به گفتگوی نداشتن و نمایش ندادن کی ورد ها در گوگل کیورد پلنر جواب داد.
واقعا کسی نمی دونه
۱۱ فروردین، ۱۳۹۹
@jserver به گفتگوی نظرسنجی در مورد: پادکست یا ویدئو بلاگ؟ جواب داد.
پادکست رو گوش دادم خوب بود به نظرم لایو یوتیوب خوبه نسبت به پادکست
@jserver یک گفتگو به اسم نداشتن و نمایش ندادن کی ورد ها در گوگل کیورد پلنر درست کرد.
یه مشکلی که چندین وقت من همش بررسی می کنم و ثبت می کنم گوگل کی ورد های سایت رو نمی شناسه با اینکه متا تگ kerword
داخل head
هست ولی اون کی ورد ها رو نمی آره .
من بررسی کردم سایت های مانند دیوار و دیجی کالا اصلا متا تگ keyword
ندارن ولی کی ورد هاشو می آره و یه چیزی سرچ می کنی می اره نمی دونم کجا ثبت کردن این کی ورد ها رو که می آره؟
لطفا اگه کسی می دونه راهنمایی کنه
۴ اسفند، ۱۳۹۸
@jserver یک گفتگو به اسم مشکل در نصب https برای دامنه در nginx درست کرد.
می خوام برای دامنه های موجود در سرور و لوکال گواهینامه ssl
یا همون https
نصب کنم ولی همش خطا میده.
من از certbot
استفاده می کنم certbot
روی سرور و هم لوکال خودم نصب کردم ولی الان دو روزه همش یه خطایی به dns
میده که هنوز نتونستم حلش کنم تو اینترنت هم هر چی گشتم همه یه جور گفتن ولی راه حل قطعی نبود و درست نشد .
در ضمن اینم بگم سرور من ubuntu
, سیستم لوکالمم ubuntu
هست وب سرور هم nginx
هست من با cerbot
برای apache
خیلی نصب کرده بودم و مشکلی نداشتم ولی برای nginx
همش خطا میده.
دستوری که من می زنم برای نصب https اینه:
sudo certbot --nginx -d api.dev -d www.api.dev
و خطای که می ده اینه:
Failed authorization procedure. www.api.dev (http-01): urn:ietf:params:acme:error:dns :: DNS problem: NXDOMAIN looking up A for www.api.dev - check that a DNS record exists for this domain, api.dev (http-01): urn:ietf:params:acme:error:dns :: DNS problem: NXDOMAIN looking up A for api.dev - check that a DNS record exists for this domain
این خطا رو هم روی سرور و روی لوکال خودم می ده
۳۰ بهمن، ۱۳۹۸
@jserver به گفتگوی مشکل لود شدن پروژه روی سرور جواب داد.
خیلی ممنون از وقتی که گذاشتید و جواب دادین .بعد چندین ساعت بررسی اخر به جای نرسیدم احتمال دادم سمت آروان باشه درست بود مشکل آروان کلود بود تیکت زدم درست شد .این روزا آروان مثل اینکه یه سری مشکلاتی داره قبلا هم یه مشکلی داشتیم که بعد کلی وقت گذاشتن فهمیدیم که سمت اروان کلود هست
@jserver یک گفتگو به اسم مشکل لود شدن پروژه روی سرور درست کرد.
سلام دوستان پروژه من با دامنه بالا نمی اد وقتی دامنه رو می زنم همش لود می شه لود میشه چند ساعتی همین جوری تو لودین می مونه ولی وقتی پروژه رو با دستی اجرا می کنم با ای پی سرور php artisan serve
می اد بالا هیچ مشکلی هم نداره و کار می کنی ولی دامنه یا بالا نمی اد یا دامنه رو می زنی فقط یه صحفه بالا می اد صفحه رو ریفریش می کنی یا صفحات دیگه رو می زنی همش تو حالت لودینگ می مونه ...داخل log
پروژه هم هیچی خطای نداره . همه ای کش ها رو پاک می کنم دوباره کش می کنم ولی فایده ای نداره
لطفا کمک کنید من موندم
۲۵ تیر، ۱۳۹۸
@jserver به گفتگوی مشکل نصب اوبونتو در کنار ویندوز جواب داد.
@m-p چرا اتفاقا ایجادش کردم..از اون موقع دارم دنبال روشی می گردم که بتونم ویندوز رو برگردونم اگه هم نشد اونو بی خیال بشم و دوباره ویندوز رو نصب کنم..طبق معمول تو نت روش های زیادی ارایه شده ولی نمی شه به هیچ کدوم استناد کرد.
۶ تیر، ۱۳۹۸
@jserver یک گفتگو به اسم مدیریت ایمیل های هاست درست کرد.
سلام دوستان آیا میشه ارسال ،دریافت و کلا هر در مورد مدیریت ایمیل است در داخل برنامه خودم با لاراول مدیریت کنم؟
در واقع می خوام ایمیل ارسال کنم دریافت و لیست ایمیل ها رو ببینم فیلتر کنم .
و مشکلی فعلا نتوستم حل کنم الان مدیریت کلی جیمل رو پیاده کردم ولی نمی دنم چرا وقتی می خوام با oauth
احراز هویت کنم همش خطای redirect_uri_mismatch
می ده
چون لاراول چند میل درایوری که هست با اون کار می کنه البته جیمیل هم با نصب پکیجش می شه مدیریت کرد.
۵ تیر، ۱۳۹۸
@jserver به گفتگوی مشکل نصب اوبونتو در کنار ویندوز جواب داد.
@m-p الان شما می فرمایید هیچ برگشتی نیست؟
حالا الان که کار از کار گذشته ubuntu
رو دارم حال چطور ویندوز 10 رو نصب کنم که ubuntu
خراب نشه
۲۰ خرداد، ۱۳۹۸
@jserver به گفتگوی مشکل نصب اوبونتو در کنار ویندوز جواب داد.
@m-p ببخشید منظور از روش خاص چیه؟
۱۹ خرداد، ۱۳۹۸
@jserver به گفتگوی مشکل نصب اوبونتو در کنار ویندوز جواب داد.
@m-p @iya30n این کار ها رو انجام دادم و قبل اینا ها گفتم grub-customizer
رو نصب کردم ولی نمی دونم چرا از اول بوت ویندوز نیست..نمی دونم راهی هست که بتونم بیارمش یا دوباره باید ویندوز رو نصب کنم.تو این تصیر مشاهده می کنیده که خبری از ویندوز نیست.
۱۷ خرداد، ۱۳۹۸
@jserver به گفتگوی انتخاب زبان دوم برای برنامه نویسی جواب داد.
به نظرم من Python/Django
عالی وقتی شروع کردم باهاش کار سورپرایز شدم
@jserver به گفتگوی مشکل نصب اوبونتو در کنار ویندوز جواب داد.
@iya30n همان طور که این دوستمون گفتن باید یک پارتیشن EFi
ایجاد کنیم ..منم ایجاد می کردم ولی چیز های تو فورم ها اینترنت هست می گن باید از داخل ویندوز این پارتیشن ها ایجاد کرد ولی این طوری جواب نمی ده باید از داخل پارتیشن بندی خود ابونتو ایجاد کرد.
در ضمن ببخشید که دیر جواب دادم .چون بعد نصب ابونتو ویندوز بالا نمی اد grub-customizer
رو نصب کردم ولی نمی دونم چرا بوت ویندوز نیست موقع نصب هم اصلا به درایو :C
دست نزدم الانم اون درایو هست ولی انگار ماجرا داره باز اگه تونستم این مشکل رو حل کنم راه حلشو به اشتراک می زارم
۱۵ خرداد، ۱۳۹۸
@jserver به گفتگوی مشکل نصب اوبونتو در کنار ویندوز جواب داد.
دوستان بالاخره نصب کردم اونم از روی فلش بدون رایت روی DVD
. بار ها امتحان مسائل و مشکلاتی که موقع کاربا کامپیوتر پیش می اد وقتی به بن بس ادم می رسه و کلا ناامید می شه که دیگه کاره نمی کنه یه بار اخرم تست می کنی جواب می ده .خیلی جالبه...
فک کنم مسائل زندگی هم اینجوری باشه
@jserver به گفتگوی مشکل نصب اوبونتو در کنار ویندوز جواب داد.
@amir_hossein آخه پیدا کردن ubuntu
نسخه های 18.4.2
تو بازار یکم سخت پیدا می شه ولی به راحتی می تونم خودم رایت کنم
@jserver به گفتگوی مشکل نصب اوبونتو در کنار ویندوز جواب داد.
@rubik سوال رو دقیق بخونید نوشتم هم با نرم فزار rufus
وuniversal usb
۱۴ خرداد، ۱۳۹۸
@jserver به گفتگوی مشکل نصب اوبونتو در کنار ویندوز جواب داد.
@amir_hossein ممنون دوست عزیز تنها این روش رو امتحان نکردم.از روی DVD
تست می کنم ببینم نتبیجه می ده یا نه .
خودم DVD می خرم و روی اون Ubuntu
رو به صورت bootable
رایت می کنم فقط باز گیر نده خوبه
۱۳ خرداد، ۱۳۹۸
@jserver به گفتگوی مشکل نصب اوبونتو در کنار ویندوز جواب داد.
@rubik من همین کارو انجام دادم.اموزش های تو یوتوب هست دیدم ..ولی نمی دونم چرا همش این خطا رو می ده..واقعا گیج شدم در این مورد
@jserver به گفتگوی مشکل نصب اوبونتو در کنار ویندوز جواب داد.
@iya30n عزیز این کارو کردم ولی باز همون خطا روداد
۵ خرداد، ۱۳۹۸
@jserver یک گفتگو به اسم مشکل نصب اوبونتو در کنار ویندوز درست کرد.
با سلام دوستان
می خوام ابونتو نسخه ای ۱۸ رو در کنار ویندوز نصب کنم ولی همش خطای The ‘grub-efi-amd64-signed’ package failed to install into /target/ error message
رو می ده روی هارد اکسترنال هم تست کردم ولی نشد.اینم هم بگم ابونتو رو روی فلش هم با برنامه rufus
و هم با universal usb
بوت کردم ولی فایده نداره. بایوس مد هم legacy
است با مد efi هم نصب کردم ولی باز خطا داد خیلی هم گوگل کردم توی stackoverflow
و askubuntu
و چند سایت دیگه ولی خطا داد که داد واقعا به بن بست رسیدم خیلی خسته ام کرد.
اینم تصویر خطای که می ده.
۲۴ بهمن، ۱۳۹۷
@jserver یک گفتگو به اسم مشکل در استفاده از توابع کمکی درست کرد.
سلا دوستان خسته نباشید
من با لاراول و ویو جی اس استفاده می کنم و برای پروژه حالا مشکلی که پیش اومده اینکه توابع کمکی لاراول در داخل کمپوننت قابل استفاده نیست.در واقع چطو از توابع کمکی لارول و توابع کمکی که خودم تعریف می کنیم داخل component
های vuejs
استفاده کنیم؟
۷ بهمن، ۱۳۹۷
@jserver یک گفتگو به اسم لاراول پکیج درست کرد.
سلام دوستان من دارم یک پکیچ برای لاراول می نویسم که می خوام داخلش بعد از این که مثلا کاربری ثبت شد پیام نمایش بده به کاربر.
من از sweetalert
استفاده کردم و یک کلاس FlashMessage
استفاده کردم و با دستور زیر در داخل provider
معرفی می کنم
$this->app->bind('message', function ($app) {
return new FlashMessage();
});
مشکل اینجاست وقتی توی صفحه ای اصلی فرخوانی می کنم پیام نمایش داده می شود ولی وقتی چیزی در ثبت می کنم و یا ویرایش می کنم موقع اینکه از متد بر می گردم عقب یعنی back()
پیام نمایش داده نمی شود.
در ضمن من برای استفاده از FlashMessage
از توابعی کمکی لاراول استفاده می کنم app('message')
۲۵ مهر، ۱۳۹۷
@jserver به گفتگوی چگونگی استفاده از تست در لاراول و استفاده از Google Map جواب داد.
@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
ولی هیچی
۲۱ مهر، ۱۳۹۷
@jserver به گفتگوی چگونگی استفاده از تست در لاراول و استفاده از Google Map جواب داد.
@amir من تست ها رو نوشتم با دستور php artisan make:test
ایجاد کردم بعد طبق مستندات کد ها نوشتم داخل تست ها به غیر این ها باید کاری بکنم
۲۰ مهر، ۱۳۹۷
@jserver به گفتگوی تحصیل در دانشگاه در رشته کامپیوتر جواب داد.
@behzad حالا به دلایلی تهران رو تو اولویت دوم قرار دادم چون خوددم تهرانی نیستم الان ترم سه کارشناسی لیست کتاب ها خیلی زیاده تو اینترنت جستجو کنی هست البته اونا منابع هستن
@jserver به گفتگوی تحصیل در دانشگاه در رشته کامپیوتر جواب داد.
اگه بخوای تو دانشگاه دولتی خوب قبول بشی خودن می دونی باید زیاد تلاش کنی و بخونی. در رشته های فنی حرفه ای اکثرا عملی تدریس می شه و بیشتر کلاس ها کارگاه داره اما کامپیوتر خودندن در رشته ریاضی فیزیک همش تئوری افرادی که کامپیوتر را از طریق ریاضی فیزیک خوندن اکثرا معلم یا استاد می شن برای دانشگاه های فنی حر فه ای یا خود ریاضی فیزیک. من خودم تو دانشگاه فنی حرفه ای تبریز می خونم با رتبه 43 اگه بخوایی بخونی انتشارات گسترش علوم پایه خوبه البته مدرسان شریف هم است
@jserver به گفتگوی چگونگی استفاده از تست در لاراول و استفاده از Google Map جواب داد.
@amir استاد نصب کردم من تست ها درس می کنم بعد که دستور phpunit
اجرا می کنم اینجوری می شه
۱۹ مهر، ۱۳۹۷
@jserver به گفتگوی چگونگی استفاده از تست در لاراول و استفاده از Google Map جواب داد.
@katerou22 مشکلی با نوشتن testing
ندارم تا حال هم صد بار خوندم مستندات رو من testing
درست می کنم و برای اجرا دستور phpunit
می زنم ولی اجرا نمی شه .در ضمن تو Google
و Stackoverflow
صد بار گشتم چیز های گقتن ولی جواب نمی ده
۱۶ مهر، ۱۳۹۷
@jserver یک گفتگو به اسم چگونگی استفاده از تست در لاراول و استفاده از Google Map درست کرد.
اول اینکه من برای نمایش نقشه روی سایت از Google Map Api
استفاده می کردم که الان خطای RefererDeniedMapError
میده آیا راحلی برای استفاده از گوگل مپ داخل سایت بجز iframe
است .
همان طوری که می دانید این بخاطر تحریم های ایران
در ضمن من در Google Cloud
هم ثبت نام کردم و Api Key
هم دارم.
سوال دوم چطوری Testing
رو در لاراول اجرا کنم و یا آموزشی خوبی بجز در لاراکست برای Testing
در لاراول هست.در ضمن نسخه لاراول از 5.5 به بعد رو منظورمه
۴ مهر، ۱۳۹۷
@jserver به گفتگوی استفاده چندین شرط در بازگردانی از پایگاه داده جواب داد.
از این روش استفاده می کنم اگه روشی بهتر است ممنون می شم راهنمایی کنید
۲ مهر، ۱۳۹۷
@jserver به گفتگوی کار بر روی پروژه آپلود شده روی سرور جواب داد.
@shahryarjb ممنون از راهنمایی شما همانطور که می دانید گیت لب هم 20 مرداد تحریم شد.من خودم از گیت لب بیشتر استفاده می کردم تا گیت هاب اگه هم فیلتر بزنم چون به سرور وصل می شم و مشکلات خودشو داره یعنی شما می فرمایید من داکر رو روی لب تابم لوکالی نصب کنم بعد روی آن کانتینر ایجاد کنم.
۱ مهر، ۱۳۹۷
@jserver به گفتگوی کار بر روی پروژه آپلود شده روی سرور جواب داد.
@hamid_afghan وب سرویس آمازون ایران رو تحریم کرده نمی شه استفاده کرد
@jserver به گفتگوی کار بر روی پروژه آپلود شده روی سرور جواب داد.
shahryarjb@ شما چطوری update
می دین ویژگی های جدیدو با کپی پیست قسمت های که تغییر کرده
@jserver به گفتگوی یادگیری فریم ورک لاراول جواب داد.
پیرو حرف های دوستان اگه بتونیPHP MVC
کامل بفهمی و یاد بگیری کارت خیلی خیلی راحت می شه برا یاد گیری و کار با لاراول
۲۸ شهریور، ۱۳۹۷
@jserver یک گفتگو به اسم کار بر روی پروژه آپلود شده روی سرور درست کرد.
با سلام خسته نباشید
من چطوری میتونم همزمان روی یک پروژه که روی سرور در حال اجراست کار کنم و بخش های که اضافه کنم و بدون دخالت روی پروژه اصلی .همان طور که میدانید در گیت برای مدیریت بخش ها از شاخه ها استفاده می شود و روی هر کدام از شاخه باشم یعنی (checkout
شده) تغییرات اون رو نمایش می شود ولی من می خواهم در حالت development
باشم و کار کنم تغییرات را مشاهده کنم و کاربرانی که از سایت دیدن می کنند از روی شاخه master
باشد
۲۶ شهریور، ۱۳۹۷
@jserver به گفتگوی نحوه ای کار روی سرور و مدیریت با گیت جواب داد.
من پروژه کار کردم روی سیستم خودم بعد با گیت مدیریتش می گردم الان همون رو همین جوری روی سرور آپلود کردم بعد اگه من یه ریپازیتوری تو گیت هاب ایجاد کنم. اونجا هم آپلود کنم دو تپروژه تو دوجا می مونه . بعد من همزمان روی پروژه کار می کنم و که روی شاخه ای غیر مستر است که تغیرات رو بدون یکی کردن اعمال می شه
@jserver به گفتگوی نحوه ای کار روی سرور و مدیریت با گیت جواب داد.
مشکل اینجاست که وقتی من فایل ها رو تغییر می دم روی شاخه ای غیر master
رو پروژه اصلی تاثیر می گذاره مثلا اگه خطای syntax
داشته داشته باشم روی پروژه اعمال می شه
@jserver یک گفتگو به اسم نحوه ای کار روی سرور و مدیریت با گیت درست کرد.
سلام دوستان خسته نباشید من یک سرور اختصاصی دارم که روش Git
هم هست الان من می خوام روی پروژه که در حال اجراست up
است روی شاخه (branch)
دیگر کار کنم هر وقت روی شاخه master
شاخه رو merge
کردم روی پروژه اعمال بشه
۲۳ شهریور، ۱۳۹۷
@jserver یک گفتگو به اسم استفاده چندین شرط در بازگردانی از پایگاه داده درست کرد.
من می خوام چندین 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 [];
}
۲۰ شهریور، ۱۳۹۷
@jserver به گفتگوی انتخاب کردن در دو بازه زمانی خاص جواب داد.
@amir الان که از refactoring خیلی بده به نظر من تنها راه چاره اینه تو هر شرط داده ها رو باید get
کنم . البته این همه ای شرط ها نیست باید چند شرط دیگر هم اضافه کنم و بعد برای هر case
این کار باید انجام شود.
و مشکل هر بار get
کردن داده اینه که شرط ها ی بالای برای شرط های پایینی اعمال می شه و نمی شه هربار شرط گذاشتن شرط پایین رو clear
کرد