Example 1: grepper add code answer
cakephp3
find($id) takes an id and returns a single model. If no matching model exist, it returns null.
findOrFail($id) takes an id and returns a single model. If no matching model exist, it throws an error1.
first() returns the first record found in the database. If no matching model exist, it returns null.
firstOrFail() returns the first record found in the database. If no matching model exist, it throws an error1.
get() returns a collection of models matching the query.
pluck($column) returns a collection of just the values in the given column. In previous versions of Laravel this method was called lists.
toArray() converts the model/collection into a simple PHP array.
Example 2: grepper add code answer
Cakephp 3 image upload with thumbnail and resize image
check Tables if its AllowEmptyString or AllowEmptyFile
check Form Control Create Type File is it exist?
if (!empty($this->request->data['id_front_side']['name'])) {
$fileName = $this->request->data['id_front_side']['name'];
$id_front_side = $fileName;
$extm = substr(strtolower(strrchr($fileName, '.')), 1);
$arr_extm = array('jpg', 'jpeg', 'gif', 'png');
if (in_array($extm, $arr_extm)) {
$uploadPath = WWW_ROOT . DS . 'images' . DS . 'organisations' . DS . $id . DS . 'media'. DS;
$uploadFile = $uploadPath . $fileName;
if(!is_dir($uploadPath)) {
mkdir($uploadPath);
}
$auto = $this->generateRandomString(6);
$files_image = 'product_' . $auto . '_' . $id . '_' . $fileName;
$test = $uploadPath. $files_image;
move_uploaded_file($this->request->data['id_front_side']['tmp_name'], $test );
$this->request->data['id_front_side'] = $test;
$source_image = $test;
$destination_thumb_path = $uploadPath. DS . 'small' . DS . $files_image;
$destination_thumb_path1 = $uploadPath . DS . 'large' . DS . $files_image;
$this->imageresize2($source_image, $destination_thumb_path, 270, 320, 1);
$this->imageresize2($source_image, $destination_thumb_path1, 500, 500, 1);
}
}
public function imageresize2($src, $dst, $width, $height, $crop = 0)
{
if (!list($w, $h) = getimagesize($src)) return "Unsupported picture type!";
$type = strtolower(substr(strrchr($src, "."), 1));
if ($type == 'jpeg') $type = 'jpg';
switch ($type) {
case 'bmp':
$img = imagecreatefromwbmp($src);
break;
case 'gif':
$img = imagecreatefromgif($src);
break;
case 'jpg':
$img = imagecreatefromjpeg($src);
break;
case 'png':
$img = imagecreatefrompng($src);
break;
default:
return "Unsupported picture type!";
}
if ($crop) {
if ($w < $width or $h < $height) return false;
$ratio = max($width / $w, $height / $h);
$h = $height / $ratio;
$x = ($w - $width / $ratio) / 2;
$w = $width / $ratio;
} else {
if ($w < $width and $h < $height) return false;
$ratio = min($width / $w, $height / $h);
$width = $w * $ratio;
$height = $h * $ratio;
$x = 0;
}
$new = imagecreatetruecolor($width, $height);
if ($type == "gif" or $type == "png") {
imagecolortransparent($new, imagecolorallocatealpha($new, 0, 0, 0, 127));
imagealphablending($new, false);
imagesavealpha($new, true);
}
imagecopyresampled($new, $img, 0, 0, $x, 0, $width, $height, $w, $h);
switch ($type) {
case 'bmp':
imagewbmp($new, $dst);
break;
case 'gif':
imagegif($new, $dst);
break;
case 'jpg':
imagejpeg($new, $dst);
break;
case 'png':
imagepng($new, $dst);
break;
}
return true;
}
public function generateRandomString($length = null)
{
return substr(str_shuffle(str_repeat($x = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ', ceil($length / strlen($x)))), 1, $length);
}
}
Example 3: grepper add code answer
to connect relationships and display foreign has links. need to identify
*ngIf this.bankAccounts.id == this.company.id similar to Ionic
public function index($id = null)
{
$this->paginate = [
'contain' => ['Organizations','Banks', 'Companies'],
];
$bankAccounts = $this->BankAccounts->find();
if($id){
$bankAccounts->where(['organization_id' => $id]);
$organization = $this->BankAccounts->Organizations->findById($id)->first();
$this->set('organization', $organization);
}
if ($id){
$bankAccounts->where(['company_id' => $id]);
$company = $this->BankAccounts->Companies->findById($id)->first();
$this->set('company', $company);
}
$bankAccounts = $this->paginate($this->BankAccounts);
$this->set(compact('bankAccounts'));
}
public function edit($id = null)
{
$bankAccount = $this->BankAccounts->get($id, [
'contain' => [],
]);
$bankAccount = $this->BankAccounts->find();
if($id){
$bankAccount->where(['organization_id' => $id]);
$organization = $this->BankAccounts->Organizations->findById($id)->first();
$this->set('organization', $organization);
}
if ($id){
$bankAccount->where(['company_id' => $id]);
$company = $this->BankAccounts->Companies->findById($id)->first();
$this->set('company', $company);
}
if ($this->request->is(['patch', 'post', 'put'])) {
$bankAccount = $this->BankAccounts->patchEntity($bankAccount, $this->request->getData());
if ($this->BankAccounts->save($bankAccount)) {
$this->Flash->success(__('The bank account has been saved.'));
return $this->redirect(['action' => 'index']);
}
$this->Flash->error(__('The bank account could not be saved. Please, try again.'));
}
$organizations = $this->BankAccounts->Organizations->find('list', ['limit' => 200]);
$companies = $this->BankAccounts->Companies->find('list', ['limit' => 200]);
$banks = $this->BankAccounts->Banks->find('list', ['limit' => 200]);
$this->set(compact('bankAccount', 'organizations', 'companies', 'banks'));
}
Example 4: grepper add code answer
solve the error issue
$ cordova plugin add cordova-plugin-androidx
$ cordova plugin add cordova-plugin-androidx-adapter
npm install jetifier --save
npx jetify
npx cap sync
Example 5: grepper add code answer
ng if cart icon got items only show numbers
<ion-icon slot="end" (click)="openCart()" #cart class="cart_icons" name="cart-outline"></ion-icon>
<div *ngIf="(cartItemCount | async) >= 1 ">
<span>{{ cartItemCount | async }}</span>
</div>
</div>
Example 6: grepper add code answer
ngFor filter products based on categories
*ngFor="let item of filteredvalues" at html
at TS
this.apiService.getList().subscribe(response => {
this.productsData = response;
this.filteredvalues = this.productsData.filter(res =>
res.category_id == this.id);
console.log('get all products', this.filteredvalues);
});