Notes

If you have encountered an error  "A problem occurred evaluating project ':app'. > Could not find method kapt() for arguments"  when you have tried to include room in Android Studio, then this quick solution should help you to fix it up.

In the build.gradle file find plugins section and add id 'kotlin-kapt'” to it: 

plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
id 'kotlin-kapt'
}

If you want to compare two dates in PHP using DateTime, you can use math operators (>, <, ==)

An example:

$date1 = new DateTime('2022-09-26 16:12:20');
$date2 = new DateTime('2022-01-11 10:13:30');
var_dump($date1 == $date2); //false
var_dump($date1 > $date2); // true
var_dump($date1 < $date2); // false


This  problem appears when you try to write a string instead of an Editable into an EditText element .

Wrong usage example: 

 binding.myEdit.text = "12345"

The solution is to write text using the setText method:

 binding.myEdit.setText("12345")

If you do not use View Binding, then see this example:

val txt = findViewById (R.id.my_text) as EditText
txt.text = "12345" // an error
txt.setText("12345") //correct

If you need to add a foreign key reference to the user in the foreign table, you should know that id column formats must match  in users & new tables.

Example:

Create a user table (by default in Laravel 8):

Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});

In this case, we see that the type of id is not clearly specified, but if you look in the database, you can see that it is bigint(20)

...

If you need to count the number of days between two PHP dates, it is convenient to use DateTime.

Example:

$date1 = DateTime::createFromFormat('d-m-Y', '15-02-2022');
$date2 = DateTime::createFromFormat('d-m-Y', '19-02-2022');

$difference = date_diff($date1, $date2);
$differenceDayCount = $difference->days;
var_dump($differenceDayCount); // 4

If you want to change link click default behavior, you could use jQuery for this purpose. 

Let's assume we have a link:

<a href="/link" id="example-link">Link</a>

jQuery code, which will prevent link click default action:

$('#example-link').click(function(e) {
e.preventDefault();
//your code
});

The key thing here is the e parameter, which is passed to the function and the e.preventDefault()  

To troubleshoot email sending errors in Laravel you can:

1. Set up:

MAIL_DRIVER=log

in the mail settings in the ENV file.

E-mails wouldn't be sent, but will be written to the  logs folder -where you can check email parameters.

2. To display configuration data for email sending:

dd(config('mail'));

If you write \ in the Laravel database request incorrectly, you won't get the expected result.

The point is that \ is an escape character.

For example, if you need to get a model from the database with the App\Picture type:

ModelName::where('type', 'like', 'App\\\\Picture')->get()

As you can see from the code above, the single slash is replaced with 4: \\\\

To calculate a hash using SHA256 format for a string in PHP, you need to use the hash function:

$myString = 'test';
$result = hash('sha256', $myString);

where

$myString - is the string to be encoded.

The first parameter passed to the hash function is the hashing algorithm, it can be different, for example "md5", "sha1", "haval160,4", etc.

You can find out all available algorithms using the hash_algos() function