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

@katerou22

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

تجربه

2900

  • ۴ ماه پیش @katerou22 به بحث اضافه نشدن foreign key جواب داد.

    از مای اسکیو ال استفاده میکنی؟

    دستور FOREIGN_KEY_CHECKS = 0رو اجرا کن برای مای اسکیو ال ببین درست میشه؟

  • ۴ ماه پیش @katerou22 به بحث اضافه نشدن foreign key جواب داد.

    اولا یک توصیه: سعی کن همیشه طبق کانوشن عمل کنی و اسم تیبل هارو درست بزنی دوما تیبلی که میخوای بهش کلید خارجی بزنی، مایگریشنش باید قبل از این یکی تیبل ساخته شده باشه فک کنم مشکلت همینه.

  • ١۰ ماه پیش @katerou22 به بحث تغییر authentication drive جواب داد.

    البته اررورت فک کنم بخاطر این باشه که شما داری کلا یه پرووایدر جدید میسازی که اشتباهه شما باید از همون سشن استفاده کنی و گاردتو عوض کنی!

    و اینکه شما توی تعریف پرووایدر داری مدل اینستس شده از یوزر رو تغییر میدی اونجا جای کاستوم باید eloquent بمونه!

    این فک کنم مفید باشه:

    https://code.tutsplus.com/tutorials/how-to-create-a-custom-authentication-guard-in-laravel--cms-29667

  • ١۰ ماه پیش @katerou22 به بحث تغییر authentication drive جواب داد.

    اگر هدفت فقط اینه که بدون هر پسوردی بتونن لاگین کنن اصلا احتیاجی به تعریف درایور جدید نیست!

    کافیه توی LoginController (اگر اشتباه نکنم توی فولدر auth توی کنترلر ها باید باشه) فانکشن ‍‍‍‍credentials رو دوباره‌نویسی کنی و بجای فیلد پسورد، پسورد درست خود کاربر رو قرار بدی (البته قبلش باید کاربر رو با یوزرنیمش یا ایمیلش پیدا کنی)

    تقریبا همچین چیزی:

    <?php
    
    protected function credentials(Request $request) 
    {
        $user = User::where('email', $request[ $this->username() ]);
            return [
                $this->username() => $request[ $this->username() ],
                'password' => $user->getAuthPassword(),
            ];
    
        // return $request->only($this->username(), 'password');
    }

    حالا بجای ایمیل هرچی هست اونو بزار!

  • ١۰ ماه پیش @katerou22 به بحث استفاده از route در Vue جواب داد.

    راستشو بخوای همچین چیزی امکان پذیر نیست چون کامپوننت های ویو انجین php ندارن که توشون بخوای فانکشن اجرا کنی!

    ولی راه های دیگه ای هست که مسیر های لاراول رو توی ویو بهشون دسترسی داشته باشی:

    باید تو صفحه بلیدی که توش ویو رو اجرا کردی به اون المنتی که ویو رو بهش وصل کردی پروپرتی بدی و بعدش توی صفحه اصلی جاوا اسکریپتد بگیریش، همچین چیزی تقریبا:

    app.blade.php

    <div id="app" data-login_route="{{'{{'}} route('login') }}"></div>
    

    ‍‍‍‍‍app.js

    window.login_route = document.querySelector("#app").dataset.login_route
    

    و دونه دونه روت هایی که میخوای رو اینجوری بدی و بعدش توی کامپوننت اینجوری استفاده کنی:

    data() {
        return {
            login_route: login_route
        }
    },

    اونوقت توی template قابل استفادست!

  • ١۰ ماه پیش @katerou22 به بحث restful api جواب داد.

    راجع به میل باید حتما یه ویوعی بسازی که ورودی قبول کنه و توی پارامتر اول اون ویو رو با ورودی خاصی که میخوای بگیری و بهش بدی با توجه به نوع پرسشت بهتر از این نمیتونم جواب بدم!

  • خب من دقیق متوجه نشدم میخوای از بین تایپ های ۱ و ۲ و ۳ یه نام و فامیلی خاص رو پیدا کنی؟ اگر همچین هدفی داری به نظرم بهترین روش اینه:

    $users = \App\User::whereIn('type',[1,2,3])->where('name',$name)->where('family',$family)->get();
    

    ویرایش: البته میتونی بعد از گرفتن کاربر با تایپ خاص روی کالکشن ور بزنی، یعنی بعد از get ور بزنی (البته توجه داشته باش که وقتی روی کالکشن ور میزنی دیگه احتیاج نیست بعدش گت یا فرست کنی)

  • راجع به مورد اول نظری ندارم اما مورد دوم باید بگم که داکیومنیشن خود لاراول عالی توضیح داده اگه بتونی بخونی:

    Laravel Testing

  • خب بجای گت (get) فرست (first) بزار که فقط یدونه بهت برگردونه و بعدش اینطوری بگیرش:

    $category->category_name

    ویرایش:

    البته میتونی اینکارم بکنی:

    $mycat[0]->category_name