Sadece bir projeyi laravelde başlatıyorum ve bu benim için yeni bir ortam. Ben PHP ve aynı zamanda modelleri ilişki aşina. Ancak laravel yapısı, başlangıç için biraz karmaşıktır. Yani sorun, bir sorum var ve Kurs tablosu, Tek bir soru daha sonra bir kursa sahip olabilir, bu yüzden kurs kimliğini ve soru kimliğini tutan bir başka tablo oluşturdum.laravel'de hasmany ilişkiyle sonuç bulun
Soru Modeli
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Question extends Model{
protected $primaryKey = "id";
public function courses(){
return $this->hasMany('App\Models\CourseQuestion');
}
}
Ders modeli
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Course extends Model {
protected $primaryKey = "id";
public function questions(){
return $this->hasOne('App\Models\CourseQuestion');
}
}
Ve geçen courseQuestion modeli i sonucu elde
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class CourseQuestion extends Model {
protected $primaryKey = "id";
public function questions(){
return $this->hasOne('App\Models\Question');
}
public function courses(){
return $this->hasMany('App\Models\Course');
}
}
Ve kontrolör -
class IndexController extends BaseController {
public function index(){
$user = Question::with('user','courses','branches')->find(100);
echo "<pre>";
print_r($user); die;
}
}
Bu nedenle dersler sadece tabiki ve üçüncü tabloda saklanan soruları döndürür, ancak dersin adını ilgili kimlik olarak istiyorum. Lütfen 'a yardım edin.
> akıllıca değişim gibi tüm işlev ... > hasMany/hasone/ > 1 => modeller yola belongsTo > 2 => local_foreignkey isim > 3 => asıl tablo PrimaryKey> ve sonda gelen kullanım > gerektiriyorsa, bazı ek spesifik alanlar almak için seçin. –
Bu cevap size memnun ..? –