Merhaba,
Leravel'de yeniyim (Php programlama bilgimde çok fazla değil).
Kendimi geliştirmek amaçlı küçük bir işletme için kullandıkları muhasebe programına dışarıdan veri girişi yapabilecekleri bir uygulama yapıyorum.
Ben kendi yazığım kısımda Mysql kullanıyorum, program ise Mssql kullanıyor. Veri çekme güncelleme gibi konularda herhangi bir sıkıntı yok.
Veri eklemek istediğimde ise laravel bana programın databaseindeki primarykey'in boş olamayacağını söylüyor. Programda primarykey ID değil de PCCODE olarak tanımlanmış.
Veriler bazen başka bir database'dan bazen de bir formdan geliyor. Ben database'dan gelen kısmı halletsem yeter.
Benim kodlarım şu şekilde:
Model :
class Order extends Eloquent{
protected $connection = "sqlsrv";
protected $table = "ORDERS";
protected $primaryKey = "PCCODE";
public $timestamps = false;
public $fillable = ["TUTARI", "TARIHI", .....];
tanımlanmış bir kaç database ilişkisi var.
Controller:
public function postOrderIntegration() {
$order = Order::find($id);
foreach ($order->items as $item) {
$items[] = [ "TUTARI => 123, "TARIHI" => Carbon::now(), .....];
}
Order::insert($items);
}
Aldığım hata ise :
SQLSTATE[23000]: [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Cannot insert the value NULL into column 'PCCODE',......
Yardımlarınız için şimdiden teşekkür ederim.
Düzenleme : Kodun daha anlaşılabilir olması için $order objesi eklendi.