Giriş yapmadınız.

Duyuru

TÜRKÇE KİTAP DUYURUSU:
Laravel 5 : Laravel 5.1 Güzelliği (Türkçe)
Vue.js 2 : Vue.js 2 Majesteleri (Türkçe)

#1 12.04.2018 19:48:47

ContackTR
Üye
Kayıtlı: 04.12.2017
Mesajlar: 8

Laravel 5.5 Controllerda Model Sorguları

Arkadaşlar laravel ile çalışmaya yeni başladım, url'den gelen değişkenler ile modeller yardımı ile sorgu yapmak istiyorum nasıl yapacağım konusunda bilgi verir misiniz? Baktığım örnekler hiç sql sorgularına benzemiyor .

Çevrimdışı

#2 12.04.2018 20:45:20

mustafa
Üye
Kayıtlı: 09.04.2018
Mesajlar: 6

Yanıt: Laravel 5.5 Controllerda Model Sorguları

urlden id alıp işlem yapmak istediğinizi varsayalım

App/routes.php ye şöyle bir kod ekleyin

Route::get("/products/{id}","[email protected]");

Burada site.com/products/3  girildiğinde id parametresini ProductController sınıfındaki showDetail metoduna pasladık

showDetail metodu

public function showDetail($id){
$product=Product::find($id); // bu satır, Eloquent aracılığıyla verilen id değerine sahip ürüne getirir
return view("product_detail",compact("product")); // burada işlenmesi için product_detail view'e gönderilir
}

Veritabanı işlemleri için http://laravel.gen.tr/docs/database
Ben de laravelde yeniyim. Bu yüzden yazı yeni eklere ihtiyaç duyabilir

Son düzenleyen mustafa (12.04.2018 20:48:03)

Çevrimdışı

#3 13.04.2018 09:31:21

Kevin-Mitnick
Üye
Kayıtlı: 26.05.2016
Mesajlar: 270

Yanıt: Laravel 5.5 Controllerda Model Sorguları

@mustafa  senin yaptığın işlem controller tarafı  adam modelde sorgu yapmaktan bahsetmiş anladığım kadarıyla


Mister Koder

Çevrimdışı

#4 13.04.2018 10:44:24

sineld
Yönetici
Yer: Bursa
Kayıtlı: 26.12.2012
Mesajlar: 1,269
Website

Yanıt: Laravel 5.5 Controllerda Model Sorguları

Model'in görevi veritabanı ile bağlantı ve benzeri işlemleri yapmaktır, ona işlem yaptıracak katman controller'dır.

Çevrimdışı

#5 13.04.2018 14:45:47

assoft
Üye
Kayıtlı: 09.03.2014
Mesajlar: 40

Yanıt: Laravel 5.5 Controllerda Model Sorguları

sineld yazdı:

Model'in görevi veritabanı ile bağlantı ve benzeri işlemleri yapmaktır, ona işlem yaptıracak katman controller'dır.

Rabbim yardımcınız olsun smile

Çevrimdışı

#6 13.04.2018 18:42:31

ContackTR
Üye
Kayıtlı: 04.12.2017
Mesajlar: 8

Yanıt: Laravel 5.5 Controllerda Model Sorguları

mustafa yazdı:

urlden id alıp işlem yapmak istediğinizi varsayalım

App/routes.php ye şöyle bir kod ekleyin

Route::get("/products/{id}","[email protected]");

Burada site.com/products/3  girildiğinde id parametresini ProductController sınıfındaki showDetail metoduna pasladık

showDetail metodu

public function showDetail($id){
$product=Product::find($id); // bu satır, Eloquent aracılığıyla verilen id değerine sahip ürüne getirir
return view("product_detail",compact("product")); // burada işlenmesi için product_detail view'e gönderilir
}

Veritabanı işlemleri için http://laravel.gen.tr/docs/database
Ben de laravelde yeniyim. Bu yüzden yazı yeni eklere ihtiyaç duyabilir

Route::get("/products/{id}/{turnuva_id/{mac_id}/canlı_yayin}","[email protected]");

örneğin yukarıdaki gibi bir olarak bir url girelecek. Ben yapmak istediğim sorgunun türkçe karşılığı şu şekilde olmasını istiyorum örneğin ; Goller diye bir model'ımız var
Goller tablosundan id={id}, turnuva_id 'si {turnuva_id} ve mac_id ={mac_id} olan golleri getir yazmak istiyorum ama sizin ki gibi sadece id üzerinden sorgu yapan örnekler gördüm .

Çevrimdışı

#7 13.04.2018 18:47:15

ContackTR
Üye
Kayıtlı: 04.12.2017
Mesajlar: 8

Yanıt: Laravel 5.5 Controllerda Model Sorguları

sineld yazdı:

Model'in görevi veritabanı ile bağlantı ve benzeri işlemleri yapmaktır, ona işlem yaptıracak katman controller'dır.

Evet hocam, ben de Controller da yapacağım işlemimi ;goller modeliyle goller tablosundan id={id}, turnuva_id 'si {turnuva_id} ve mac_id ={mac_id} olan satırı getirmek istiyorum örneğin bu nasıl yapaiblirim hocam?

Örneklerde sadece id'yi verip ona göre sorgu yaptılarını görüyorum sebebi nedir , Laravel'de böyle sorgu nasıl yapapbilirim?

Çevrimdışı

#8 13.04.2018 23:58:59

mgsmus
Moderatör
Yer: Mersin
Kayıtlı: 17.08.2013
Mesajlar: 986
Website

Yanıt: Laravel 5.5 Controllerda Model Sorguları

Route::get("/products/{id}/{turnuva_id}/{mac_id}/canlı_yayin","[email protected]");

bunun için showDetail yöntemi şöyle olmalı:

public function showDetail($id, $turnuva_id, $mac_id)
{
...

Ayrıca şu şekilde de yapılabilir:
https://laravel.com/docs/5.6/queries#co … al-clauses

Son düzenleyen mgsmus (13.04.2018 23:59:37)

Çevrimdışı

#9 14.04.2018 12:54:13

ContackTR
Üye
Kayıtlı: 04.12.2017
Mesajlar: 8

Yanıt: Laravel 5.5 Controllerda Model Sorguları

mgsmus yazdı:
Route::get("/products/{id}/{turnuva_id}/{mac_id}/canlı_yayin","[email protected]");

bunun için showDetail yöntemi şöyle olmalı:

public function showDetail($id, $turnuva_id, $mac_id)
{
...

Ayrıca şu şekilde de yapılabilir:
https://laravel.com/docs/5.6/queries#co … al-clauses

Evet bu kısmı biliyorum . Çözemediğim kısım o parametreleri kullanarak sorgu yazımını nasıl yapacağım dediğim şekilde.

Çevrimdışı

#10 14.04.2018 14:02:47

mgsmus
Moderatör
Yer: Mersin
Kayıtlı: 17.08.2013
Mesajlar: 986
Website

Yanıt: Laravel 5.5 Controllerda Model Sorguları

Sorguyu yazmanın birçok yolu var. Temel olarak Query Builder kullanarak;

$goals = Goal::where('turnuva_id', $turnuva_id)->where('mac_id', $mac_id)->get();
$goal = Goal::find($id);
...

Dökümanları inceleyin, hepsi var. Takıldığınız yerde yardımcı olalım.

Çevrimdışı

#11 15.04.2018 10:19:42

ContackTR
Üye
Kayıtlı: 04.12.2017
Mesajlar: 8

Yanıt: Laravel 5.5 Controllerda Model Sorguları

mgsmus yazdı:

Sorguyu yazmanın birçok yolu var. Temel olarak Query Builder kullanarak;

$goals = Goal::where('turnuva_id', $turnuva_id)->where('mac_id', $mac_id)->get();
$goal = Goal::find($id);
...

Dökümanları inceleyin, hepsi var. Takıldığınız yerde yardımcı olalım.

Teşekkürler buldum bir şeyler. Peki bu dönen sorguları ben view'a nasıl gönderebilirim. Şöyle ki Controller'daki bu sorgudan dönen verileri view'da 5 saniyede bir çekmem gerekiyor. Bunun view kısmını şu şekilde ;

$.get("{{URL::To('/{turnuva_sporcu_id}/{mac_id}/canli-yayin/hamleler/')}}", function(data1) {...

çekmeye çalıştım controllarda ise

  return response()->json($notations);
 

şeklinde göndermeye çalıştım .Sorun şu ki bu şekilde yaptığımda hamlelerdeki sorgu doğru çalışıyor ama view'da o verileri çekemedim bir türlü. Verinin içeriğine ulaşamadım desem daha iyi olur sanırım. Çünkü viewda gelen veriyi console.log ile console'a yazdırıdğımda "__proto__:Object" olarak görünüyor. Yardımcı olur musunuz. Yaptığım yöntemde ne yanlış ya da farklı bir yöntem var mı daha doğru olan ? Teşekkür ederim.

Çevrimdışı

#12 19.04.2018 10:10:50

mgsmus
Moderatör
Yer: Mersin
Kayıtlı: 17.08.2013
Mesajlar: 986
Website

Yanıt: Laravel 5.5 Controllerda Model Sorguları

Öncelikle periyodik işlem ile ilgili şu yazıma bakın:
http://forum.laravel.gen.tr/viewtopic.p … 227#p12227

Sizin $.get ile istek gönderdiğiniz URL'den elde edilen sonucu şu şekilde kullanabilirsiniz (veri yapısına göre değişir elbette):

$.get('/2/115/canli-yayin/hamleler', function(response) {
    // Eğer tek sonuç dönüyorsa
    console.log(response.hamle_id);

    // Eğer birden fazla sonuç dönüyorsa
    $.each(response, function(key, value) {
        console.log(key + ':' + value);
    });
});

Elbette bu yazdığım her şey teorik. Neyi nasıl yaptığınızı bilmiyorum.

Çevrimdışı

Forum alt kısmı