Pods: group by์— ๊ฐ€๋Šฅํ•œ ๋ถ„๋ฅ˜ ๋ฌธ์ œ

์— ๋งŒ๋“  2016๋…„ 06์›” 07์ผ  ยท  21์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: pods-framework/pods

jimtrue์˜ Slack์„ ํ†ตํ•ด ์ œ์ถœ๋œ group by์˜ ๊ฐ€๋Šฅํ•œ ๋ถ„๋ฅ˜ ๋ฌธ์ œ

Help Wanted Support

๋ชจ๋“  21 ๋Œ“๊ธ€

์ถ•์ œ ์œ ํ˜•๋ณ„๋กœ ์ •๋ ฌ๋œ ๋‹ค์Œ ์ œ๋ชฉ๋ณ„๋กœ ์ •๋ ฌ๋œ ๋ชจ๋“  ์ด๋ฒคํŠธ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

์ถ•์ œ ํฌ๋“œ๋Š” ์‚ฌ์šฉ์ž ์ง€์ • ๋ถ„๋ฅ˜๋ฒ•์ž…๋‹ˆ๋‹ค.
์ด๋ฒคํŠธ ํฌ๋“œ๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ๊ฒŒ์‹œ๋ฌผ ์œ ํ˜•์ž…๋‹ˆ๋‹ค.

// assume weยดve got 6 events and 2 festivals

$params = array('orderby' => 'festival.name, post_title', 'limit' => -1, 'groupby' => 'festival.name');
$events = pods('event', $params)

// output should be
Event 1 (Festival 1)
Event 3 (Festival 1)
Event 5 (Festival 1)
Event 2 (Festival 2)
Event 4 (Festival 2)
Event 6 (Festival 2)

// ... but is
Event 1 (Festival 1)
Event 2 (Festival 2)

์ž ์‹œ ํ…Œ์ŠคํŠธํ•œ ํ›„ ์ด๋ฒคํŠธ๊ฐ€ ์ถ•์ œ ๋ถ„๋ฅ˜๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” ํฌ๋“œ ๊ด€๊ณ„ ํ•„๋“œ๋ฅผ ๊ฐ€์ ธ์˜ค๋ฉด ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ groupby ์—†์ด๋งŒ.

$params = array('orderby' => 'festival.name, post_title', 'limit' => -1);

์ด๊ฒƒ์˜ ๋‹จ์ ์€ ๋ถ„๋ฅ˜๋กœ์„œ์˜ ์ถ•์ œ ๊ด€๊ณ„๊ฐ€ wordpress์˜ ๋น ๋ฅธ ํŽธ์ง‘ ์–‘์‹์„ ํ†ตํ•ด ๋” ์ด์ƒ ์œ ์ง€๋  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค(์˜ˆ, ์ถ”๊ฐ€ ํ”Œ๋Ÿฌ๊ทธ์ธ์œผ๋กœ ๊ฐ€๋Šฅ)

์ถœ๋ ฅ์€
orderby

ํ•ด์•ผํ•œ๋‹ค
orderby-02

Festival.name์œผ๋กœ ๊ทธ๋ฃนํ™”ํ•˜๋ฉด ์ถ•์ œ๋‹น ํ•˜๋‚˜์˜ ๋ ˆ์ฝ”๋“œ๋งŒ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

์—ฐ๋„์ˆœ, ์ถ•์ œ๋ช… ์ˆœ, ํฌ์ŠคํŠธ ์ œ๋ชฉ ์ˆœ์œผ๋กœ ํ•˜๊ณ  ์‹ถ์œผ์‹œ์ฃ ?

์ด๊ฒƒ์€ Slack #support์˜ ํ† ๋ก ์—์„œ ๊ฐ€์ ธ์™”์œผ๋ฉฐ, ์šฐ๋ฆฌ๋Š” Taxonomy๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธํ–ˆ์œผ๋ฉฐ taxonomy.name์˜ orderby๋ฅผ ๋ฌด์‹œํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์ฃผ๋กœ ์šฐ๋ฆฌ๊ฐ€ ๋ฌธ์ œ๋กœ ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. orderby ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•ด ์ง€์—ญ ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ถ„๋ฅ˜๋ฒ•๊ณผ์˜ ๊ด€๊ณ„์— ๋Œ€ํ•œ ๊ด€๋ จ ๋ถ„๋ฅ˜๋ฒ•๊ณผ ๊ด€๋ จ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ๊ฐ€ ๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋˜ํ•œ group by ๋Š” ์‹ค์ œ๋กœ๋Š” ์š”์•ฝ ํ•ฉ๊ณ„ ๊ณ„์‚ฐ ๋ฐ ์ด์™€ ์œ ์‚ฌํ•œ ์šฉ๋„๋กœ๋งŒ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค๋Š” ๋ฉ”๋ชจ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ๊ทธ๋ฃน๋‹น ํ•˜๋‚˜์˜ ํ–‰๋งŒ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. @sc0ttkclark ์ ์ ˆํ•œ ์š”์•ฝ ๊ณ„์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด groupby๊ฐ€ 'fields' ๋˜๋Š” 'sql' ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ๊ฐ€์žฅ ์ž˜ ์ง์„ ์ด๋ฃจ๋Š” ์ƒํ™ฉ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๊นŒ?

@sc0ttkclark ๋งž์Šต๋‹ˆ๋‹ค . ์ฒ˜์Œ์—๋Š” ๊ทธ๋ฃน๋น„์˜ ๊ฐœ๋…์„ ์ž˜๋ชป ์ดํ•ดํ–ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ
$params = array('orderby' => 'festival.name, post_title', 'limit' => -1);
์ด๋ฏธ์ง€์— ํ‘œ์‹œ๋œ ์ถœ๋ ฅ๊ณผ ๊ฐ™์ด ๋๋‚ฉ๋‹ˆ๋‹ค. ์ƒˆ๋กœ ์„ค์น˜๋œ wordpress + pods ๋ฒ„์ „์œผ๋กœ ์ด ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•˜๋ ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ถˆํ–‰ํžˆ๋„ ๊ทธ๊ฒƒ์€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ–ˆ๋Š”์ง€ :์›ƒ๋Š”๋‹ค:

@kristonovo ์ ์ ˆํ•˜๊ฒŒ ์ •๋ ฌ

์ƒˆ๋กœ ์„ค์น˜๋œ ํ…Œ์ŠคํŠธ ์„ค์ • ๋‚ด @jimtrue : ์˜ˆ. ๋‚ด ์‹ค์ œ ํ”„๋กœ์ ํŠธ: ์•„๋‹ˆ์š”. ์—ฌ๊ธฐ์„œ ์›ํ•˜๋Š” ์ถœ๋ ฅ์„ ์–ป์œผ๋ ค๋ฉด ์—ฌ์ „ํžˆ ์‹ค์ œ ํฌ๋“œ ๊ด€๊ณ„ ํ•„๋“œ๋ฅผ ํ• ๋‹นํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ๋”ฐ๋ฅผ ์ˆ˜ ์žˆ๋Š” ๋””๋ฒ„๊ทธ ๋‹จ๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

@kristonovo ์ƒ๋‹นํžˆ ์ด์ƒํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋‹ค๋ฅธ ๊ฒƒ์ด ์ •๋ ฌ์— '๋ฐœ์„ ๋””๋””๊ณ  ์žˆ๋‹ค'๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. @sc0ttkclark ์–ด๋–ค ์ œ์•ˆ์ด ์žˆ์Šต๋‹ˆ๊นŒ? URL์— ?pods_debug_sql_all=1 ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์˜ค์ž‘๋™ํ•˜๋Š” ์ •๋ ฌ์„ ์‚ดํŽด๋ณด๊ณ  ํ˜ธ์ถœ๋˜๋Š” SQL ์ฟผ๋ฆฌ๋ฅผ ํ™•์ธํ•˜๊ณ  ๋น„๊ตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ถ„๋ฅ˜๋ฒ•์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๋Š” ์˜ค์ž‘๋™ํ•˜๋Š” ๋ฒ„์ „์—์„œ ์‹คํ–‰ ์ค‘์ธ ๋‹ค๋ฅธ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

@kristonovo ์Šคํฌ๋ฆฐ์ƒท์—์„œ "festival.name"์ด ๋ฌด์—‡์ธ๊ฐ€์š”?

@sc0ttkclark 2014, 2015

'orderby' => 'CAST( festival.name AS INT(4) ) DESC, t.post_title' ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(2015๋…„์„ ์›ํ•˜๋ฉด 2014๋…„).

๊ณง ๋””๋ฒ„๊ทธ URL๊ณผ CAST ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

@sc0ttkclark
array('orderby' => 'CAST(festivaljahr.name AS INT(4)) DESC, post_title', 'limit' => -1);
์ƒ์‚ฐํ•˜๋‹ค

[You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '(4)) DESC, post_title, `t`.`menu_order`, `t`.`post_title`, `t`.`post_date`' at line 20]
        SELECT DISTINCT `t`.* FROM `wp_table_posts` AS `t` LEFT JOIN `wp_table_term_relationships` AS `rel_festival` ON `rel_festival`.`object_id` = `t`.`ID` LEFT JOIN `wp_table_term_taxonomy` AS `rel_tt_festival` ON `rel_tt_festival`.`taxonomy` = 'festival' AND `rel_tt_festival`.`term_taxonomy_id` = `rel_festival`.`term_taxonomy_id` LEFT JOIN `wp_table_terms` AS `festival` ON `festival`.`term_id` = `rel_tt_festival`.`term_id` WHERE ( ( `t`.`post_status` IN ( "publish" ) ) AND ( `t`.`post_type` = "event" ) ) ORDER BY CAST(`festival`.`name` AS INT(4)) DESC, post_title, `t`.`menu_order`, `t`.`post_title`, `t`.`post_date`

์–ด์ฉŒ๋ฉด์—†์ด INT(4) ๋Œ€์‹  ์‚ฌ์šฉํ•  DECIMAL(4,0)

@jimtrue
array('orderby' => 'festivaljahr.name, post_title', 'limit' => -1);
pods_debug_sql_all=1 ์™€ ํ•จ๊ป˜

1

SELECT

DISTINCT
`t`.*
FROM `wp_table_posts` AS `t`

LEFT JOIN `wp_table_term_relationships` AS `rel_festival` ON
`rel_festival`.`object_id` = `t`.`ID`

LEFT JOIN `wp_table_term_taxonomy` AS `rel_tt_festival` ON
`rel_tt_festival`.`taxonomy` = 'festival'
AND `rel_tt_festival`.`term_taxonomy_id` = `rel_festival`.`term_taxonomy_id`

LEFT JOIN `wp_table_terms` AS `festival` ON
`festival`.`term_id` = `rel_tt_festival`.`term_id`

WHERE ( ( `t`.`post_status` IN ( "publish" ) ) AND ( `t`.`post_type` = "event" ) )


ORDER BY `festival`.`name`, post_title, `t`.`menu_order`, `t`.`post_title`, `t`.`post_date`

2

SELECT

DISTINCT
`t`.*
FROM `wp_table_posts` AS `t`

LEFT JOIN `wp_table_term_relationships` AS `rel_festival` ON
`rel_festival`.`object_id` = `t`.`ID`

LEFT JOIN `wp_table_term_taxonomy` AS `rel_tt_festival` ON
`rel_tt_festival`.`taxonomy` = 'festival'
AND `rel_tt_festival`.`term_taxonomy_id` = `rel_festival`.`term_taxonomy_id`

LEFT JOIN `wp_table_terms` AS `festival` ON
`festival`.`term_id` = `rel_tt_festival`.`term_id`

WHERE ( ( `t`.`post_status` IN ( "publish" ) ) AND ( `t`.`post_type` = "event" ) )


ORDER BY `festival`.`name`, post_title, `t`.`menu_order`, `t`.`post_title`, `t`.`post_date`

์‚ผ

`SELECT `ID`, `post_name`, `post_parent` FROM `wp_table_posts` WHERE `post_type` = '_pods_field' AND ( `post_name` IN ( 'festival', 'name' ) )`

4

SELECT

DISTINCT
*, `t`.`term_id` AS `pod_item_id`
FROM `wp_table_terms` AS `t`
LEFT JOIN `wp_table_term_taxonomy` AS `tt` ON `tt`.`term_id` = `t`.`term_id`
LEFT JOIN `wp_table_term_relationships` AS `tr` ON `tr`.`term_taxonomy_id` = `tt`.`term_taxonomy_id`
WHERE ( ( `t`.`term_id` = 67 ) AND ( `tt`.`taxonomy` = "festival" ) AND ( `tt`.`taxonomy` = "festival" ) )


ORDER BY `t`.`name`, `t`.`term_id`

5

SELECT

DISTINCT
*, `t`.`term_id` AS `pod_item_id`
FROM `wp_table_terms` AS `t`
LEFT JOIN `wp_table_term_taxonomy` AS `tt` ON `tt`.`term_id` = `t`.`term_id`
LEFT JOIN `wp_table_term_relationships` AS `tr` ON `tr`.`term_taxonomy_id` = `tt`.`term_taxonomy_id`
WHERE ( ( `t`.`term_id` = 67 ) AND ( `tt`.`taxonomy` = "festival" ) AND ( `tt`.`taxonomy` = "festival" ) )


ORDER BY `t`.`name`, `t`.`term_id`

6

SELECT

DISTINCT
t.post_title AS aktuelles_title, t.post_date AS aktuelles_date, t.post_excerpt AS aktuelles_excerpt, t.ID AS aktuelles_id
FROM `wp_table_posts` AS `t`

WHERE ( ( `t`.`post_status` IN ( "publish" ) ) AND ( `t`.`post_type` = "aktuelles" ) )


ORDER BY t.post_date DESC, `t`.`menu_order`, `t`.`post_title`, `t`.`post_date`
LIMIT 0, 3

7

SELECT

DISTINCT
t.post_title AS aktuelles_title, t.post_date AS aktuelles_date, t.post_excerpt AS aktuelles_excerpt, t.ID AS aktuelles_id
FROM `wp_table_posts` AS `t`

WHERE ( ( `t`.`post_status` IN ( "publish" ) ) AND ( `t`.`post_type` = "aktuelles" ) )


ORDER BY t.post_date DESC, `t`.`menu_order`, `t`.`post_title`, `t`.`post_date`
LIMIT 0, 3

@sc0ttkclark
DECIMAL(4,0)์— ๋” ์ด์ƒ SQL ์˜ค๋ฅ˜๊ฐ€ ์—†์ง€๋งŒ ์ถ•์ œ๊ฐ€ ์•„๋‹Œ ์ด๋ฒคํŠธ๋ณ„๋กœ ๋‹ค์‹œ ์ฃผ๋ฌธ๋จ
๊ทธ ๋™์•ˆ ํฌ๋“œ๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ๋น„ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค. ์—ฌ์ „ํžˆ ๊ทธ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค :(

Festival.name์œผ๋กœ๋งŒ ํ…Œ์ŠคํŠธ:

$params = array('orderby' => 'festival.name DESC');

์ถœ๋ ฅ
orderby-03

๋™์•ˆ
$params = array('orderby' => 'festival.name ASC');

์ถœ๋ ฅ
orderby-04

์ถœ๋ ฅ์— ๋Œ€ํ•œ ์˜ฌ๋ฐ”๋ฅธ ์ •๋ณด๋ฅผ ์ œ๊ณตํ–ˆ๋‹ค๊ณ  ์™„์ „ํžˆ ํ™•์‹ ํ•ฉ๋‹ˆ๊นŒ? ์ฝ˜ํ…์ธ ๋ฅผ ๋‚˜์—ดํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” PHP๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ๋Š” ๋ฐ ์‹œ๊ฐ„์ด ๋” ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋ฉด ๋‚ด ์ž˜๋ชป์ด ์•„๋‹๊นŒ ๊ฑฑ์ •์ด ๋ฉ๋‹ˆ๋‹ค.๋Œ„์„œ:

<?php
/**
 * Template Name: Events
 */

get_header();
?>

<div class="column-1-3">
    <h1><a href="/events" target="_self">Events</a><br><br></h1>

    <div class="event">

        <?php
        $params = array('orderby' => 'festival.name');
        $events = pods('event')->find($params);

        if ($events->data()) {

            while ($events->fetch()) {

                echo $events->display('festival.name') . ' - ' . $events->display('post_title') . '<br>';


            }

        }
?>

    </div>

</div>


<?php get_sidebar( 'right' ); ?>
<?php get_footer(); ?>

... ๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ์€ ์ด๋ฒคํŠธ ํฌ๋“œ์˜ ์„ค์ •์ž…๋‹ˆ๋‹ค.

image

์ด ๋ฌธ์ œ๋ฅผ ์กฐ์‚ฌํ•˜๊ธฐ ์œ„ํ•ด Pod ๊ด€๋ฆฌ ์˜์—ญ์— ๋กœ๊ทธ์ธํ•  ์ˆ˜ ์žˆ๋„๋ก ๋กœ๊ทธ์ธ์„ ์ œ๊ณตํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? Slack(http://pods.io/chat/) ๋˜๋Š” ๋‹ค์Œ ์–‘์‹์„ ํ†ตํ•ด ๋น„๊ณต๊ฐœ๋กœ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. https://pods.io/help/

์˜ˆ, ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์ค€๋น„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜๋„ ์‹œ๊ฐ„์ด ์ข€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ๋™์•ˆ ๋‚˜๋Š” ํ•œ ๊ฐ€์ง€ ๋‹ค๋ฅธ ๊ฒƒ์„ ํ…Œ์ŠคํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.

  • bio(์‚ฌ์šฉ์ž ์ •์˜ ํฌ์ŠคํŠธ ์œ ํ˜•)๋ผ๋Š” ํ…Œ์ŠคํŠธ ํฌ๋“œ ์ƒ์„ฑ
  • ์ฒดํฌ ๋‚ด์žฅ ๋ถ„๋ฅ˜ ์ถ•์ œ
  • orderby ์ฟผ๋ฆฌ๋Š” ์˜ˆ์™ธ์ฒ˜๋Ÿผ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
  • agegroup์ด๋ผ๋Š” ๋‘ ๋ฒˆ์งธ ๊ธฐ๋ณธ ์ œ๊ณต ๋ถ„๋ฅ˜๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค(์ด๋ฒคํŠธ ํฌ๋“œ์— ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ).
  • orderby ์ฟผ๋ฆฌ๊ฐ€ ๋” ์ด์ƒ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค
  • bio์—์„œ agegroup์œผ๋กœ ๋ถ„๋ฅ˜ ๊ด€๊ณ„๋ฅผ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์—ฌ์ „ํžˆ ๋ฌด์งˆ์„œ

๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ํ•ญ์ƒ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.
$params = array('orderby' => 'festival.name DESC');

๋‹ค์ค‘ ๋ถ„๋ฅ˜ ๊ด€๊ณ„๊ฐ€ orderby๋ฅผ ๋ฐฉํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๋‚ด๊ฐ€ ์•„๋Š” ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ณด๊ด€๋ฉ๋‹ˆ๋‹ค. ๊ด€๊ณ„๋ฅผ ์ œ๊ฑฐํ•˜๋”๋ผ๋„.

์ด์— ๋Œ€ํ•œ ํ›„์† ์กฐ์น˜๋กœ Pod์˜ ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ๋ผ MySQL์˜ ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค.

์–ด๋–ค ์ด์œ ๋กœ๋“  ์กฐ์ธ๋œ ํ•„๋“œ์— ๋Œ€ํ•ด ORDER BY๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด ๊ฒฐ๊ณผ๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ •๋ ฌ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. 'where' => 'festival.name IS NOT NULL' ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ฃผ๋ฌธ๋˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

MySQL ์ „๋ฌธ๊ฐ€๋Š” ์ด๋Ÿฌํ•œ ์ผ์ด ๋ฐœ์ƒํ•˜๋Š” ์ด์œ ์™€ ํ–ฅํ›„ ์ด๋ฅผ ์™„ํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€ ์กฐ์‚ฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰