milad
4 سال پیش توسط milad مطرح شد
6 پاسخ

جستجو بین رابطه ها

سلام
دوستان من تو دیتابیسم چندتا جدول دارم که باهم در ارتباطن با رابطه های many to many.وقتی جستجو می کنم که مثلا فلان ویژگی محصول بده query میترکه!!چندین روش استفاده کردم.بنظرتون برای گرفتن خروجی از رابطه ها تو دیتا بیس(mysql) چیه؟
مثلا میخام بگم همه کیف هایی که دارای زیپ فلزی هستن از db بکش بیرون!


ثبت پرسش جدید
سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 4 سال پیش آپدیت شد
0

سلام متوجه ترکیدن Query نشدم!
خب با متد where میتونی فیلتر کنی کجاش رو مشکل داری؟


milad
@miladtest70 4 سال پیش مطرح شد
0

@juza66
ببینید مشکل من اینجاست من نمیتونم از جدول دیگه که با جدول اصلی در رابطه است اطلاعات مورد نظر(مثلا ی عدد از ی ستون خاص)بیرون بکشم
$test= product::with('attribute')->whereHas('attribute',function ($q) use ($room) {
$q->where('title','LIKE','%'.$room.'%');})->get();
این کد نوشتم ولی همه داده ها رو میده بیرون فیلتر نمیکنه


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
0

باید کلاس Illuminate\Database\Eloquent\Builder رو در کلوژر استفاده کنید. اروری که میگیرید فکر کنم به همین علت باشه.

use Illuminate\Database\Eloquent\Builder;

$goldenZipProducts = App\Product::with('attribute')
    ->whereHas('attribute', function (Builder $query) use ($room) {
        $query->where('title', 'like', '%'.$room.'%');
    })->get();

milad
@miladtest70 4 سال پیش مطرح شد
0

@ali.bayat
بازم جواب نداد همه دیتا میکشه میریزه بیرون


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش آپدیت شد
0

من قبل از ارسال پاسخ برای شما... خودم داخل tinker چک کردم و همی چیز درست کار میکنه..
فقط از مدلهای متفاوتی استفاده کردم


TEFO
تخصص : لاراول
@tefo.ha27 4 سال پیش آپدیت شد
0

این with رو ببرین بعد whereHas و where و قبل get
و اینکه منظورتون از همه دادهه کدومه رابطه یا خود مدل


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

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