راکت

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

6 پاسخ

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

ثبت پرسش جدید

پاسخ‌ها

6
سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

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

milad
milad
@miladtest70

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

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

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

باید کلاس 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
milad
@miladtest70

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

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

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

TEFO
TEFO
@tefo.ha27

تخصص: لاراول

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

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

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