PHP code example of stellarwp / db
1. Go to this page and download the library: Download stellarwp/db library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
stellarwp / db example snippets
use Boom\Shakalaka\StellarWP\DB\DB;
add_action( 'plugins_loaded', function() {
DB::init();
}, 0 );
# For DB, it is "StellarWP\DB\DB", but with your namespace prefix it'll be:
use Boom\Shakalaka\StellarWP\DB\DB;
# For QueryBuilder, it is "StellarWP\DB\QueryBuilder\QueryBuilder", but with your namespace prefix it'll be:
use Boom\Shakalaka\StellarWP\DB\QueryBuilder\QueryBuilder;
use Boom\Shakalaka\StellarWP\DB\Config;
// Ensure hooks are prefixed with your project's prefix.
Config::setHookPrefix( 'boom_shakalaka' );
// Use your own exception class rather than the default Database\Exceptions\DatabaseQueryException class.
Config::setDatabaseQueryException( 'MyCustomException' );
// Fetch the hook prefix.
$prefix = Config::getHookPrefix();
// Fetch the database query exception class.
$class = Config::getDatabaseQueryException();
DB::table(DB::raw('posts'));
DB::table('posts')->select('ID', 'post_title', 'post_date');
DB::table('posts')->select(
['ID', 'post_id'],
['post_status', 'status'],
['post_date', 'createdAt']
);
DB::table('posts')->select('post_status')->distinct();
DB::table('posts')
->select('ID')
->selectRaw('(SELECT ID from wp_posts WHERE post_status = %s) AS subscriptionId', 'give_subscription');
DB::table('posts');
$builder = new QueryBuilder();
$builder->from('posts');
$builder = new QueryBuilder();
$builder->from('posts');
$builder->from('postmeta');
$builder = new QueryBuilder();
$builder->from(DB::raw('posts'));
DB::table('posts', 'donationsTable')
->select('donationsTable.*', 'metaTable.*')
->leftJoin('give_donationmeta', 'donationsTable.ID', 'metaTable.donation_id', 'metaTable');
DB::table('posts', 'donationsTable')
->select('donationsTable.*', 'metaTable.*')
->rightJoin('give_donationmeta', 'donationsTable.ID', 'metaTable.donation_id', 'metaTable');
DB::table('posts', 'donationsTable')
->select('donationsTable.*', 'metaTable.*')
->innerJoin('give_donationmeta', 'donationsTable.ID', 'metaTable.donation_id', 'metaTable');
DB::table('posts', 'donationsTable')
->select('donationsTable.*', 'metaTable.*')
->joinRaw('LEFT JOIN give_donationmeta metaTable ON donationsTable.ID = metaTable.donation_id');
DB::table('posts')
->select('donationsTable.*', 'metaTable.*')
->join(function (JoinQueryBuilder $builder) {
$builder
->leftJoin('give_donationmeta', 'metaTable')
->on('donationsTable.ID', 'metaTable.donation_id')
->andOn('metaTable.meta_key', 'some_key', $qoute = true);
});
$donations = DB::table('give_donations')->where('author_id', 10);
DB::table('give_subscriptions')
->select('ID')
->where('ID', 100, '>')
->union($donations);
DB::table('posts')->where('ID', 5);
DB::table('posts')
->where('ID', 5)
->where('post_author', 10);
DB::table('posts')->whereIn('ID', [1, 2, 3]);
DB::table('posts')
->whereIn('ID', function (QueryBuilder $builder) {
$builder
->select(['meta_value', 'donation_id'])
->from('give_donationmeta')
->where('meta_key', 'donation_id');
});
DB::table('posts')->whereBetween('ID', 0, 100);
DB::table('posts')->whereLike('post_title', 'Donation');
DB::table('posts')->whereIsNull('post_author');
DB::table('give_donationmeta')
->whereExists(function (QueryBuilder $builder) {
$builder
->select(['meta_value', 'donation_id'])
->where('meta_key', 'donation_id');
});
DB::table('posts')
->where('post_author', function (QueryBuilder $builder) {
$builder
->select(['meta_value', 'author_id'])
->from('postmeta')
->where('meta_key', 'donation_id')
->where('meta_value', 10);
});
DB::table('posts')
->where('post_author', 10)
->where(function (WhereQueryBuilder $builder) {
$builder
->where('post_status', 'published')
->orWhere('post_status', 'donation')
->whereIn('ID', [1, 2, 3]);
});
DB::table('posts')->orderBy('ID');
DB::table('posts')
->orderBy('ID')
->orderBy('post_date', 'DESC');
DB::table('posts')
->groupBy('id')
->having('id', '>', 10);
DB::table('posts')
->limit(10)
->offset(20);
DB::table('posts')
->select(
['ID', 'id'],
['post_date', 'createdAt'],
['post_modified', 'updatedAt'],
['post_status', 'status'],
['post_parent', 'parentId']
)
->attachMeta('give_donationmeta', 'ID', 'donation_id',
['_give_payment_total', 'amount'],
['_give_payment_currency', 'paymentCurrency'],
['_give_payment_gateway', 'paymentGateway'],
['_give_payment_donor_id', 'donorId'],
['_give_donor_billing_first_name', 'firstName'],
['_give_donor_billing_last_name', 'lastName'],
['_give_payment_donor_email', 'donorEmail'],
['subscription_id', 'subscriptionId']
)
->leftJoin('give_donationmeta', 'ID', 'donationMeta.donation_id', 'donationMeta')
->where('post_type', 'give_payment')
->where('post_status', 'give_subscription')
->where('donationMeta.meta_key', 'subscription_id')
->where('donationMeta.meta_value', 1)
->orderBy('post_date', 'DESC');
DB::table('give_donors')
->select(
'id',
'email',
'name'
)
->attachMeta(
'give_donormeta',
'id',
'donor_id',
['additional_email', 'additionalEmails', true]
);
Array
(
[0] => stdClass Object
(
[id] => 1
[email] => [email protected]
[name] => Bill Murray
[additionalEmails] => ["[email protected] ","[email protected] "]
)
[1] => stdClass Object
(
[id] => 2
[email] => [email protected]
[name] => Jon Waldstein
[additionalEmails] => ["[email protected] ","[email protected] ","[email protected] "]
)
[2] => stdClass Object
(
[id] => 3
[email] => [email protected]
[name] => Ante laca
[additionalEmails] =>
)
)
DB::table('posts')
->select(
['ID', 'id'],
['post_date', 'createdAt']
)
->configureMetaTable(
'give_donationmeta',
'custom_meta_key',
'custom_meta_value'
)
->attachMeta(
'give_donationmeta',
'ID',
'donation_id',
['_give_payment_total', 'amount']
)
->leftJoin('give_donationmeta', 'ID', 'donationMeta.donation_id', 'donationMeta')
->where('post_type', 'give_payment')
->where('post_status', 'give_subscription')
->where('donationMeta.custom_meta_key', 'subscription_id')
->where('donationMeta.custom_meta_value', 1);
DB::table('posts')
->insert([
'post_title' => 'Post Title',
'post_author' => 1,
'post_content' => 'Post Content'
]);
DB::table('posts')
->where('post_author', 1)
->update([
'post_title' => 'Post Title 2',
'post_content' => 'Post Content 2'
]);
// Would result in a new row - Oakland to San Diego for 100.
DB::table('table_name')
->upsert(
['departure' => 'Oakland', 'destination' => 'San Diego', 'price' => '100'] ,
['departure','destination']
);
// Would update the row that was just inserted - Oakland to San Diego for 99.
DB::table('table_name')
->upsert(
['departure' => 'Oakland', 'destination' => 'San Diego', 'price' => '99'] ,
['departure','destination']
);
DB::table('posts')
->where('post_author', 1)
->delete();
$post = DB::table('posts')->where('post_author', 1)->get();
$posts = DB::table('posts')->where('post_status', 'published')->getAll();
$meta_value = DB::get_var(
DB::table( 'postmeta' )
->select( 'meta_value' )
->where( 'post_id', 123 )
->where( 'meta_key', 'some_key' )
->getSQL()
);
$meta_values = DB::get_col(
DB::table( 'postmeta' )
->select( 'meta_value' )
->where( 'meta_key', 'some_key' )
->getSQL()
);
$escaped_string = DB::esc_like( 'This string has a % in it that is not a wildcard character' );
$results = DB::table( 'posts' )
->whereLike( 'post_content', "%{$escaped_string}%" )
->getAll();
$escaped_sql = DB::table( 'postmeta' )
->whereLike( 'meta_key', '%search string%' )
->getSql();
$sql = DB::remove_placeholder_escape( $escaped_sql );
$count = DB::table('posts')
->where('post_type', 'published')
->count();
$count = DB::table('donations')->count('not_null_value_column');
$sum = DB::table('give_donationmeta')
->where('meta_key', 'donation_amount')
->sum('meta_value');
$avg = DB::table('give_donationmeta')
->where('meta_key', 'donation_amount')
->avg('meta_value');
$min = DB::table('give_donationmeta')
->where('meta_key', 'donation_amount')
->min('meta_value');
$max = DB::table('give_donationmeta')
->where('meta_key', 'donation_amount')
->max('meta_value');
sql
SELECT * FROM wp_posts WHERE ID = '5' AND post_author = '10'
sql
SELECT * FROM wp_posts WHERE ID BETWEEN '0' AND '100'
stdClass Object
(
[id] => 93
[createdAt] => 2022-02-21 00:00:00
[updatedAt] => 2022-01-21 11:08:09
[status] => give_subscription
[parentId] => 92
[amount] => 100.000000
[paymentCurrency] => USD
[paymentGateway] => manual
[donorId] => 1
[firstName] => Ante
[lastName] => Laca
[donorEmail] => [email protected]
[subscriptionId] => 1
)