Всем привет, В Laravel 5.5 имея 2 таблицы бизнесы и типов бизнеса business_types и businesses есть еще одна таблица business_business_types - каждый бизнес может иметь несколько типов бизнеса и business_business_types определена как Код (Text): Schema::create('business_business_types', function (Blueprint $table) { $table->bigIncrements('id'); $table->bigInteger('business_id')->unsigned(); $table->foreign('business_id')->references('id')->on('businesses')->onDelete('RESTRICT'); $table->enum('status', ['N', 'A', 'I']) ->comment('N => New(Waiting for activation), A=>Active, I => Inactive'); $table->integer('business_types_id'); $table->foreign('business_types_id')->references('id')->on('business_types')->onDelete('RESTRICT'); $table->dateTime('created_at'); $table->index(['status'], 'business_business_types_status_index'); $table->unique(['business_id', 'business_types_id'], 'business_business_types_business_id_business_types_id_unique'); $table->index(['created_at'], 'business_business_types_created_at_index'); }); И в модели app/Business.php есть метод : Код (Text): public function businessBusinessTypes() { echo '<pre>hasMany businessBusinessTypes::'.print_r(113490,true).'</pre>'; // ЭТА СТРОКА ВЫВОДИТСЯ return $this->hasMany('App\BusinessBusinessType'/*, 'business_id','id'*/ ); } Вызываю в контроле : Код (Text): $business= Business::findOrFail($business_id); echo '<pre>$business::'.print_r($business,true).'</pre>'; $businessBusinessTypesList= $business->BusinessBusinessTypes(); foreach( $businessBusinessTypesList as $next_key=>$nextBusinessBusinessType ) { // Цикла нет хотя в базе данные есть echo '<pre>$nextBusinessBusinessType::'.print_r($nextBusinessBusinessType,true).'</pre>'; } В sql-логах вижу только : Код (Text): select * from "cs_businesses" where "cs_businesses"."id" = '3' limit 1 То есть это вызов findOrFail. Больше ничего нет. Я полагал что метод BusinessBusinessTypes сгенерит запрос вида: Код (Text): select * from "cs_business_business_types" where "cs_business_business_types"."business_id" = '3' Что не так ? Спасибо!
@mstdmstd, погоди, у тебя же многие-ко-многим, а hasMany - это один-ко-многим. Для многие-ко-многим используется https://laravel.ru/docs/v5/eloquent-relationships#hmt (hasManyThrough)