Şu anda bir problemle yaşıyorum: Laravel 4 ile ilişki, her iki bileşenin olduğu bir tabloyu sorgulayan bir pivot tablo hatası alıyorum tekil isimde. Bir pivot tablo lands_objs oluşturmak ve bunu doldurmak:Laravel 4 pek çok ilişkiye çalışmıyor, pivot tablo bulunamadı
Modeller şunlardır: Ben standartlar aşağıdaki pivot tablo doldurmak nasıl İşte
<?php
class Obj extends Eloquent
{
protected $guarded = array();
public static $rules = array();
public $timestamps = false;
public function land()
{
return $this->belongsToMany('Land');
}
<?php
class Land extends Eloquent
{
protected $guarded = array();
public static $rules = array();
public $timestamps = false;
public function objs()
{
return $this->belongsToMany('Obj');
}
}
olduğunu. Ben dokunaklı sayesinde yapmak mümkün olmalıdır bu yapısıyla
<?php
use Illuminate\Database\Migrations\Migration;
class CreateLandsObjsTable extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('lands_objs', function($table) {
$table->integer('land_id');
$table->integer('obj_id');
});
}
}
: Elbette toprakları, OBJS ve lands_objs tablolar var
$land = Land::find(1); //checked loads land fine
$objs = $land->objs; //--> HERE I TAKE THE ERROR
Ama yanılma:
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'taylor.land_obj' doesn't exist
(SQL: select `objs`.*, `land_obj`.`land_id` as `pivot_land_id`, `land_obj`.`obj_id`
as `pivot_obj_id` from `objs` inner join `land_obj` on `objs`.`id` = `land_obj`.`obj_id`
where `land_obj`.`land_id` = ?) (Bindings: array (0 => 1,))
Laravel, land_obj'dan alıntı yapmasına rağmen, lands_objs tablosunu yaratmamalı mı? Bir şey mi eksik?
Çok teşekkürler.
Eğer 2 ** belongsTo ** yöntem ve ** hasManyThrough ** yöntemi kullanarak arasındaki fark ne olduğunu söyleyecek misin görüyor musunuz? Anlayamıyorum ama hasManyTrough kullanmak benim için işe yaramıyor ... – kitensei
Bir Yazar bir çok Gönderi ve bir Mesajın birçok yorumu vardır. Genellikle 2 yönteme aittir (yazar, yorum yazabilir ve yayınlayabilir), ancak belirli bir yazarın tüm yayınlarındaki tüm yorumları seçmek istediğinizi söylerseniz, o zaman yorumlarınız olmadığı için hasManyThrough kullanırsınız. Yazar ile doğrudan ilişkilidir, ancak başka bir model (post) yoluyla Yazar ile ilgilidir. HasManyThrough olmadan, tüm yazarın gönderilerini seçmeniz, ardından tüm yorumları almanız, sonra da onları, sonradan olduğunuz biçim/sipariş vb. Haline getirmek için bir çeşit işleme yapmanız gerekir. – Brent