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 Yanıt: Laravel 5.x Yardım » str_slug ve Türkçe karakter problemi » Bugün 15:12:42

Laravel 5.4'de helpers.php dosyasını composer.json içerisinde autoload.files içerisinde gösterdiyseniz hata verir çünkü Laravel'in kendi helpers dosyası sizinkinden önce yükleniyor ve iki tane str_slug fonksiyonu olmuş oluyor. O yüzden o zamanlar autoload.php içerisinde eklenmesini önermiştim.

Siz 5.4 kullandığınız için composer.json içerisinde değil autoload.php içerisinde helpers.php dosyasınızı ekleyeceksiniz ama bunu yapmadan önce size ait helpers.php dosyasını eklediğiniz yerlerden kaldırın, vendor klasörünü silin ve composer install yapın. Daha sonra autoload.php içerisine helpers.php dosyanızı ekleyin.

Elbette yaşadığınız sorunu bilmiyorum. Ben 5.4 ile deneme yaptım ve hata almadım.

#2 Yanıt: Laravel 5.x Yardım » "Cannot end a push stack without first starting one" hatası » Bugün 15:08:24

detail.blade.php içeriğini paylaşmadığınıza göre tahmin etmemizi istiyorsunuz sanırım smile  @stack/@push kullanmışsınız ama kullanımda bir hata var.

#3 Yanıt: Laravel 5.x Yardım » Resim kırpma işlemi » Dün 20:04:13

Bahsi geçen Javascript kütüphanesi:
http://foliotek.github.io/Croppie/

Kütüphane kırpma işlemi yaparken HTMLCanvasElement kullanarak resmi upload etmeden size sonucu base64 olarak verebiliyor. O yüzden intervention/image kütüphanesinde crop'u kullanmak yerine direk Image::make($data)->save('cropped.jpg'); şeklinde resmi base64 veriden oluşturabilirsiniz.

#4 Yanıt: Laravel 5.x Yardım » Birkaç tablodan rondom veri çekmek » Dün 19:55:42

Aynı şekilde yine select ile çekilecek alanları belirtmemişsiniz.

Ayrıca bu şekilde SQL UNION kullanmadan ayrı ayrı çekiyorsanız bir tane boş Collection oluşturun, içerisine listelenecek ürün için hangi alanlara ihtiyacınız varsa onları ekleyin:

$products = collect();

$products->push([
    'id' => $first->id,
    'title' => $first->title
]);

$products->push([
    'id' => $vehicleCovering->id,
    'title' => $vehicleCovering->title
]);

...

#5 Yanıt: Laravel 5.x Yardım » Http - Https Yönlendirme » Dün 19:51:07

app/Providers/AppServiceProvider.php içerisinde boot yöntemi içerisine

URL::forceScheme('https');

yapıştırıp deneyin bir de.

#6 Yanıt: Laravel 5.x Yardım » Birkaç tablodan rondom veri çekmek » 23.06.2018 13:38:21

Üstte de belirtiğim gibi çekilecek sütunları belirtmeniz gerekiyor:

first = DB::table('product_contents_car')->select('productId','title','description')->whereNull('productId');

$users = DB::table('product_contents_wear')->>select('productId','title','description')->whereNull('productId')->unionAll($first)->get();

#7 Yanıt: Laravel 5.x Yardım » Birkaç tablodan rondom veri çekmek » 23.06.2018 03:17:12

Öncelikle UNION için şunları bilelim:
1 - Çekilecek sütunların sayısı birbirine eşit olmalı, ilk SELECT ile gelen sırada ve tipleri de aynı olmalı
2 - Sütun isimleri ilk SELECT ile belirtilen sütun isimlerini alır
3 - SELECT sorguların kendine ait ORDER BY ya da LIMIT özellikleri olacaksa sorgular parantez içine alınır.
4 - Genel sonuca ORDER BY, LIMIT vs. uygulanacaksa son SELECT sorgusundan sonra yapılır.
5 - Genel sonuca uygulanan ORDER BY işlemlerinde alias kullanılır. tablo_adi.alan şeklinde kullanım yapılamaz.
6 - UNION aynı olan kayıtları süzer ama UNION ALL tüm kayıtları aynı olsun olmasın getirir.
7 - UNION, UNION ALL'a göre daha yavaştır çünkü aynı kayıtların belirlenmesi için ek işlem gerektirir.

Şimdi sizin istediğinize gelelim;

Öncelikle ürün listeleme için ihtiyacımız olan alanları belirleyelim. Örneğin genel olarak id, title, image olur. Bu durumda sizin sorgunuz şu şekilde olabilir:

(SELECT id, title, image FROM table1 ORDER BY RAND() LIMIT 1)
UNION ALL
(SELECT id, title2, image2 FROM table2 ORDER BY RAND() LIMIT 1)
UNION ALL
(SELECT id, title3, image3 FROM table3 ORDER BY RAND() LIMIT 1)
UNION ALL
(SELECT id, title4, image4 FROM table4 ORDER BY RAND() LIMIT 1)
UNION ALL
(SELECT id, title5, image5 FROM table5 ORDER BY RAND() LIMIT 1)
UNION ALL
(SELECT id, title6, image6 FROM table6 ORDER BY RAND() LIMIT 1)
UNION ALL
(SELECT id, title7, image7 FROM table7 ORDER BY RAND() LIMIT 1)
UNION ALL
(SELECT id, title8, image8 FROM table8 ORDER BY RAND() LIMIT 1)
UNION ALL
(SELECT id, title9, image9 FROM table9 ORDER BY RAND() LIMIT 1)
UNION ALL
(SELECT id, title10, image10 FROM table10 ORDER BY RAND() LIMIT 1)

Burada title2, title3 vs ürünün adına gelen alan. Her tabloda 2. sıradaki sütun (adı önemli değil) string ifade olarak (yani genellikle VARCHAR) ürün adına karşılık gelen alan olmalıdır. Sonuç da kabaca şöyle olur:

+-----+----------------+----------------+
| id  |     title      |     image      |
+-----+----------------+----------------+
|   3 | Ürün           | urun.jpg       |
|  16 | Diğer ürün     | diger-urun.jpg |
| 222 | Başka bir ürün | baskbiurun.jpg |
| ... | ...            | ...            |
+-----+----------------+----------------+

Bu sorguyu Builder ile yazacaksanız:
https://laravel.com/docs/5.6/queries#unions

Diğer bir yol ise veri dönüşümü kullanmak. Her bir sorguyu ayrı yapacaksınız, sonuçları id, title ve image şeklinde olacak. Daha sonra hepsini tek bir Collection'da birleştireceksiniz.
https://laravel.com/docs/5.6/collections#method-union

#8 Yanıt: Laravel 5.x Yardım » str_slug ve Türkçe karakter problemi » 21.06.2018 12:34:25

Bu hatayı aldığınıza göre şimdi sizin kendi yazdığınız str_slug, Laravel ile birlikte gelenden sonra yükleniyor demektir. Kendi helpers.php dosyanızı nasıl eklediniz?

#9 Yanıt: Laravel 5.x Yardım » str_slug ve Türkçe karakter problemi » 21.06.2018 08:51:30

Sorunu çözmeye çalışın, o fonksiyonu kullanmayın.

Ben dün 5.4 kurup sizin yaptığınız işlemlerin aynısını yaptım, hiçbir sorun yaşamadım. bootstrap/autoload.php içerisinde helpers.php eklediğiniz satırı silip composer require nesbot/carbon deneyin.

O da fayda etmez ise vendor klasörünü silin ve composer install yapın.

#10 Yanıt: Laravel 5.x Yardım » str_slug ve Türkçe karakter problemi » 20.06.2018 21:14:01

composer require nesbot/carbon şeklinde tekrar kurmayı dener misiniz?

#11 Yanıt: Laravel 5.x Yardım » Http - Https Yönlendirme » 20.06.2018 16:03:48

Ben bunu kullanıyorum:

RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://www.%1%{REQUEST_URI} [L,NE,R=301]

Bütün linklerin https://www. ile başlamasını sağlıyor.

#12 Yanıt: Laravel 5.x Yardım » str_slug ve Türkçe karakter problemi » 20.06.2018 12:21:08

composer dump-auto yapmayı bir deneyin isterseniz. Import ettiğiniz halde çalışmıyorsa aklıma pek bir şey gelmiyor. İsterseniz hem bootstrap/autoload.php hem de helpers.php içeriğini paylaşın bakalım, belki başka bir hata vardır.

#13 Yanıt: Laravel 5.x Yardım » str_slug ve Türkçe karakter problemi » 20.06.2018 10:56:46

Türkçe karakter problemi düzeltilği için artık bootstrap/autoload.php dosyasını kullanmıyoruz. Zaten böyle bir dosya da artık yok. Sizin framework sürümünüz eski sanırım.

Carbon'u bulamadığını söylüyorsa büyük ihtimalle import etmemişsinizdir. use Carbon\Carbon; şeklinde import edeceksiniz.

#14 Yanıt: Laravel 5.x Yardım » Sorgu » 19.06.2018 13:59:08

Normalde en uygun yol ve güvenlik gibi sebeplerden ötürü strict mod tavsiye edilir ama bu bir çok şey gibi ne yaptığınızı bilip bilmemek ile de ilgili bir durum.

Örneğin;

Strict mod kapalı iken 100 karakterlik bir alana 120 karakterlik bir text girerseniz 20 karakteri kesilir, ilk 100 karakteri girilir ama strict mod açık iken giriş yapılmaz, hata verir.
Strict mod bir alana yanlış veri girmenizi engeller (Kapalı iken genellikle NULL ya da 0 şeklinde giriş yapılıyor).

Bunun gibi bir çok örnek var, araştırabilirsiniz.

Teorik olarak strict moda uygun SQL yazmak mantıklı bir hareket ama pratikte sizi zora sokabilir, işinizi uzatabilir, bazı SQL sorgularını daha da karmaşık hale getirebilir.

Ben strict mod kapalı çalışıyorum, sorun olursa müşteriye yansıtıyorum, o yüzden beni etkilemiyor tongue

#15 Yanıt: Laravel 5.x Yardım » Sorgu » 19.06.2018 10:54:25

MySQL strict modda ONLY_FULL_GROUP_BY direktifi ile çalışıyor. Kısaca, hangi alanları çekiyorsanız hepsini GROUP BY içerisinde belirtmeniz gerekiyor.

config/database.php içerisindeki strict ayarı bunu kapatıyor, sizde kapatmamışsa MySQL sürümü ile alakalı bir durum olabilir, kesin bilmiyorum.

Şimdilik groupBy('company.id','company.company_name') şeklinde deneyebilirsiniz.

#16 Yanıt: Laravel 5.x Yardım » Sorgu » 19.06.2018 10:21:46

config/database.php içerisinde mysql ayarları kısmında strict eğer true ise onu false yaparak dener misiniz?

#17 Yanıt: Laravel 5.x Yardım » Vue js Datatables kullanımı » 18.06.2018 09:29:29

Github sayfasında yazdığına göre Laravel Datatables paketini kullanırken, Datatables'i make() ile oluşturduğunuzda rawColumns yöntemine sütun adını değil indeks yazmanız gerekiyor. rawColumns(['action']) değil rawColumns([1]) olacak yani.

#18 Yanıt: Laravel 5.x Yardım » Storage Güvenlik Sorunu » 14.06.2018 20:40:48

3. satırda -Indexes direktifini görebilirsiniz, bu şekilde olacak .htaccess dosyanız:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

#19 Yanıt: Laravel 5.x Yardım » Storage Güvenlik Sorunu » 14.06.2018 10:58:29

.htaccess dosyasına Options -Indexes ekleyin.

#20 Yanıt: Laravel 5.x Yardım » Storage Güvenlik Sorunu » 14.06.2018 10:22:41

storage dizini içerisinde public yapacağınız tek klasör app/public klasörüdür. Onu da php artisan storage:link komutu ile symlink oluşturarak kullanıyorsunuz. Böylece /storage/app/public klasörüne atılan bir dosya örneğin /storage/app/public/resim.jpg dosyasına /storage/resim.jpg şeklinde ulaşabiliyorsunuz.

Bu şekilde kullandığınızda File Storage özelliklerini kullanabiliyorsunuz.
https://laravel.com/docs/5.6/filesystem

Sizin ne yapmak istediğinizi anlayamadım.

#22 Yanıt: Laravel 5.x Yardım » Kategori ve alt kategoriye ait ürünleri listelemek » 13.06.2018 21:10:06

Nested seti sadece kategoriler için kullanıyorum, ürünler ile bir bağı yok. Yani nested set ile ürünleri sıralamıyorum. Ne tür bir sıralamadan bahsediyorsunuz?

#23 Yanıt: Laravel 5.x Yardım » Kategori ve alt kategoriye ait ürünleri listelemek » 13.06.2018 17:17:13

Nested Set kullanmaktan neden vazgeçtiniz? Bence internette Nested Set vs Adjacency List şeklinde aratıp karşılaştırmaları inceleyin derim. Sonradan karşılaşacağınız sorunları şimdiden bilin.

Önce istediğiniz kategori ve tüm alt kategorilerinin idlerini recursive olarak bir diziye işleyeceksiniz. Yani elinizde [1,2,5,12,13,14,24,25,33] gibi bir dizi olacak. Sonra

$data = [1,2,5,12,13,14,24,25,33];
$products = Product::whereIn('category_id', $ids)->get();

Bu diziyi elde etmek için izlenecek yollar (en azından benim için) biraz sıkıntılı. O yüzden şu paketin kodlarına bakabilirsiniz:
https://github.com/BlueM/Tree

#24 Yanıt: Laravel 5.x Yardım » FastCGI Caching » 13.06.2018 13:41:57

CSRF token ya da bunun gibi oturuma bağlı olarak değişen durumlarda sadece FastCGI'da değil genel olarak tüm komple önbellekleme sistemlerinde aynı sorunu yaşarsınız. Sorunun özüne bakarsanız eğer; bir kullanıcı bir sayfaya girdiğinde alınan önbellek kullanıcıya özel değil herkese ait bir önbellek oluyor. Dolayısıyla ilk kim önbelleğin oluşmasını sağlamışsa onun bilgileri geliyor. Bu durumda forma da ilk önbelleği oluşturanın tokenı gelecek demektir. FastCGI cache kullanmaktan vazgeçmek istemiyorsanız şu gibi yollar mevcut;

- Form submit edilmeden önce ya da yüklendikten sonra Javascript ile, oluşturduğunuz bir rotadan güncel tokenı çekip form datasına mevcut hatalı token yerine enjekte etmek.
- Formları önbelleklenen sayfalardan ayırmak (Formları ajax ile HTML fragment şeklinde DOM'a enjekte etmek)
- Form olan sayfaların önbelleklenmesini engellemek ve bu sayfalarda Redis/Memcached gibi partial/fragment kullanmak. Yani form dışındaki yerler önbellekten gelecek.

Başka yollar da vardır elbette, sadece önbelleklemenin bir aç/kapa olayı olmadığını, projenizi de ona göre tasarlamanız gerekebileceğini unutmayın.

#25 Yanıt: Laravel 5.x Yardım » Laravel 5 Ajax File/Image Upload » 11.06.2018 16:26:56

Kullandığınız Javascript kodunu ekler misiniz? Ayrıca Ajax ile post yaparken enctype bir işe yaramaz herhalde, sonuçta formu kullanmıyorsunuz.

Forum alt kısmı

Uygulama FluxBB