SELECT islem, max(k1.kullaniciadi) AS islemYapan, max(k2.kullaniciadi) AS islemAcan FROM randevu
LEFT JOIN kullanici k1 ON randevu.islem_yapan = k1.id
LEFT JOIN kullanici k2 ON randevu.islem_acan = k2.id
GROUP BY islem
Şöyle bir şey istiyorsun sanırım ?
Ne yapmak istediğini tam anlamadım ama aynı tabloyu ikinci kez join etmek yerine şu şekilde kullanılır genelde,
select * from tbl_ islem
inner join tbl_kullanici on tbl_islem.islem_acan = tbl_kullanici.id and tbl_islem.islem_yapan = tbl_kullanici.id
Çözüm şöyleymiş arkadaşlar,
Select ifadesine ROW_NUMBER() OVER (ORDER BY SUM(quantity) DESC) AS rownumber,
bu satırı ekleyip ->orderBy('quantity', 'DESC')
satırınıda kaldırınca sıralama istediğim şekilde çalıştı.
Tam hali şöyle yani;
public function index(Request $request){
$data = DB::table('orderItems as SS')
->select(DB::raw('SS.barcode,
MAX(SS.productName) as productName,
SUM(SS.quantity) as quantity,
ROW_NUMBER() OVER (ORDER BY SUM(quantity) DESC) AS rownumber,
COALESCE(NULLIF(MAX(B.salePrice),0), MAX(B.regularPrice)) as unitPrice'))
->leftJoin('products as B','SS.barcode', '=', 'B.barcode')
->leftJoin('orders as S', 'SS.orderID', '=', 'S.ID')
->whereBetween('S.orderDate', ['20210616', '20210616'])
->groupBy('SS.barcode')
->limit(1000)
->simplePaginate(5);
return view('rapor', compact('data'));
}
@tayfunerbilen Cloudflare Firewall kuralında bilinen botları engellememek için sanırım Known Bots
= off
olması gerekiyor.
Onu hızlıca şöyle if else ile çözersin;
//Burada attribute isimlerini yakala
if($attribute_label == "Marka"){
$icon = 'fas fa-american-sign-language-interpreting';
}else if($attribute_label == "Başka Bişi"){
$icon = 'fas baskabisi';
}
// Burayıda böyle düzenle ;)
echo get_the_term_list( $post->ID, $attribute[ 'name' ] , '<i class="'. $icon .'"></i> <div class="stilin">' . $attribute_label . ': ' , ', ', '</div>' );
Hm alamadık yani doğru cevap ödülünü :P
Mesela bir div içinde göstermek istediğini var sayıyorum nitelikleri, onu da şöyle yapabilirmişsin;
function attribute_stil_degistir( $product ) {
global $product;
global $post;
$attributes = $product->get_attributes();
if ( ! $attributes ) {
return;
}
foreach ( $attributes as $attribute ) {
// Get the taxonomy.
$terms = wp_get_post_terms( $product->id, $attribute[ 'name' ], 'all' );
$taxonomy = $terms[ 0 ]->taxonomy;
// Get the taxonomy object.
$taxonomy_object = get_taxonomy( $taxonomy );
// Get the attribute label.
$attribute_label = $taxonomy_object->labels->singular_name;
// Display the label followed by a clickable list of terms.
echo get_the_term_list( $post->ID, $attribute[ 'name' ] , '<div class="stilin">' . $attribute_label . ': ' , ', ', '</div>' );
}
}
add_action( 'woocommerce_single_product_summary', 'attribute_stil_degistir', 35);
Tabi bu durumda bir önceki verdiğim cevaptaki wc_custom_show_attributes_outside_tabs
fonksiyonunu kullanmaman gerekiyor.
Konumunu şu şekilde değiştirebilirsin,
// Ek bilgiler tabını kaldır
add_filter( 'woocommerce_product_tabs', 'remove_additional_information_tab', 100, 1 );
function remove_additional_information_tab( $tabs ) {
unset($tabs['additional_information']);
return $tabs;
}
// Attribute alanını sepete ekle butonunun sonrasına taşı
add_action( 'woocommerce_single_product_summary', 'wc_custom_show_attributes_outside_tabs', 35 );
function wc_custom_show_attributes_outside_tabs() {
global $product;
$product->list_attributes();
}
h4 'ün stilini display:inline
yaparsan ve resime float:left
verirsen, h4 resmin yanına gelir ve kelime kadar genişlikte olur.